我经常使用带有find的grep两次来搜索文件中的两个模式,如下所示:
find . -name \*.xml | xargs grep -l "<beans" | xargs grep singleton
然后我遇到了含有空格的文件,这当然会破坏上述命令。我进行了以下修改来处理这些空格:
find . -name \*.xml -print0 | xargs -0 grep -l "<beans" | xargs grep singleton
选项-print0告诉find使用null作为分隔符而不是空格,-0告诉xargs期望null。只要我正在寻找的文件路径中没有空格,这就起作用,但如果有空格,它就会出错。所以我需要一个标记来告诉grep将null打印为分隔符而不是换行符。你有什么想法吗?