我正在尝试在所有文件的目录中搜索文本。它也有望访问子文件夹。文件夹和文件的名称中包含空格字符。我正在使用以下命令进行搜索。
find . -type f | xargs grep -rls 'my text'
这不会访问带有空格字符的文件夹和文件。关于在命令上更改什么有什么建议吗?
我正在尝试在所有文件的目录中搜索文本。它也有望访问子文件夹。文件夹和文件的名称中包含空格字符。我正在使用以下命令进行搜索。
find . -type f | xargs grep -rls 'my text'
这不会访问带有空格字符的文件夹和文件。关于在命令上更改什么有什么建议吗?
我认为这应该可以很好地处理带有空格的文件(尽管不是换行符),但是您可以使用find -print0
并且xargs -0
更安全。
话虽如此,您当前对-r
参数的使用grep
是没有意义的,因为它只会被赋予要操作的目录。另外你在find
这里的使用是没有意义的,因为grep -r
你直接在这里做你想要的。
只需使用grep -rls 'my text' .
.
grep
我亲自动手的任何版本都支持-r
递归切换。
只需将它交给顶层目录,grep 就会做它的事情:
grep -r myregex /home/marcus/bunchoffilesindirectories