Him*_*shu 9 unix linux bash find
我使用find来查找返回查询的某些行的数据库的名称.
$ find . -name 'sqlite.db' -exec sqlite3 "{}" 'SELECT * FROM table WHERE column1="value"' \;
value|a|b|c|d
Run Code Online (Sandbox Code Playgroud)
但是我想要数据库的名称,所以我尝试了-print显示了所有的名字
$ find . -name 'sqlite.db' -print -exec sqlite3 "{}" 'SELECT * FROM table WHERE column1="value"' \;
/dir1/a/sqlite.db
value|a|b|c|d
/dir2/a/sqlite.db
/dir2/b/sqlite.db
/dir3/a/sqlite.db
Run Code Online (Sandbox Code Playgroud)
有没有办法只能获得命令运行的退出状态成功的文件.
你只需要在-print之后-exec.它是一个短路布尔值and,通过放置-print之前-exec,打印发生在exec之前.
find . -name sqlite.db -exec ... \; -print
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3472 次 |
| 最近记录: |