我正在使用xargs
来搜索文件中的内容,但xargs
因文件名中的空格而失败。这背后的原因是什么?无论如何,我可以在-exec
命令中使用find
来实现它。
答案 0 :(得分:3)
对可能包含空格的文件使用find
和xargs
时,请将-print0
与find
和-0
与xargs
一起使用, xargs
接收由nul
分隔的文件名,并使用正确的参数调用该实用程序。
例如,寻找" string"在当前目录(及以下)的所有文件中:
$ find . -type f -print0 | xargs -0 grep "string"
请参阅find
和xargs
的手册。