find
参数-print0
和xargs
参数-0
应该一起工作.man
页面find
说:
-print0 ....此选项对应于xargs的-0选项.
好吧,只要find
产生一些输出,它们就能为我工作.当find生成NO输出时,如何让它工作?
find /dev /sys /usr -maxdepth 0 -print0 | xargs -0 -n1 | wc -l # 3 - OK
find /dev /sys -maxdepth 0 -print0 | xargs -0 -n1 | wc -l # 2 - OK
find /dev -maxdepth 0 -print0 | xargs -0 -n1 | wc -l # 1 - OK
find /dev -maxdepth 0 -name "x" -print0 | xargs -0 -n1 | wc -l # 1 instead of 0 - Fail
Run Code Online (Sandbox Code Playgroud)
例如,可能会发生一些不好的事情,
find -type d -name ... -print0 | xargs -0 du -sh
Run Code Online (Sandbox Code Playgroud)
当没有找到目录时,不带参数xargs
调用du
并du
假设.
PS我知道-exec
参数find
,我只想连接find
和xargs
正确.
GNU xargs
具有以下选项:
Run Code Online (Sandbox Code Playgroud)--no-run-if-empty -r
如果标准输入不包含任何非空白,请不要运行该命令.通常,即使没有输入,命令也会运行一次.
归档时间: |
|
查看次数: |
1575 次 |
最近记录: |