0

我正在尝试在所有文件的目录中搜索文本。它也有望访问子文件夹。文件夹和文件的名称中包含空格字符。我正在使用以下命令进行搜索。

find . -type f | xargs grep -rls 'my text'

这不会访问带有空格字符的文件夹和文件。关于在命令上更改什么有什么建议吗?

4

2 回答 2

1

我认为这应该可以很好地处理带有空格的文件(尽管不是换行符),但是您可以使用find -print0并且xargs -0更安全。

话虽如此,您当前对-r参数的使用grep是没有意义的,因为它只会被赋予要操作的目录。另外你在find这里的使用是没有意义的,因为grep -r你直接在这里做你想要的。

只需使用grep -rls 'my text' ..

于 2015-03-20T17:24:02.090 回答
0

grep我亲自动手的任何版本都支持-r递归切换。

只需将它交给顶层目录,grep 就会做它的事情:

grep -r myregex /home/marcus/bunchoffilesindirectories
于 2015-03-20T17:21:56.693 回答