我正在尝试在所有文件中的目录中搜索文本。它也有望访问子文件夹。有文件夹&名称中包含空格字符的文件。我正在使用以下命令进行搜索。
find . -type f | xargs grep -rls 'my text'
这不会访问带有空格字符的文件夹和文件。关于命令要改变什么的任何建议?
答案 0 :(得分:1)
我应该处理具有空格的文件,但我认为(尽管不是新行),但您可以使用find -print0
和xargs -0
更安全。
据说当前对-r
的{{1}}参数的使用是没有意义的,因为它只会被赋予目录以进行操作。此外,您在此使用grep
毫无意义,因为find
直接在此处执行您想要的操作。
只需使用grep -r
。
答案 1 :(得分:0)
我亲自动手的grep
版本支持-r
切换,递归。
只需将它放在顶级目录中,grep就可以完成它的工作:
grep -r myregex /home/marcus/bunchoffilesindirectories