我经常将 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 而不是换行符。
有任何想法吗?