【发布时间】:2012-09-20 16:47:20
【问题描述】:
我经常将 grep 与 find 一起使用两次,以便在文件中搜索两个模式,如下所示:
find . -name \*.xml | xargs grep -l "<beans" | xargs grep singleton
然后我遇到了带有空格的文件,这当然破坏了上述命令。我对其进行了如下修改以处理空格:
find . -name \*.xml -print0 | xargs -0 grep -l "<beans" | xargs grep singleton
选项 -print0 告诉 find 使用 print null 作为分隔符而不是空格,-0 告诉 xargs 期待 null。只要我要查找的文件的路径中没有空格,这就会起作用,但如果有,就会中断。
所以我需要一个标志来告诉 grep 打印 null 作为 speartor 而不是换行符。
有什么想法吗?
【问题讨论】: