通过子目录进行 grep

通过子目录进行 grep

从终端向文本文件添加字符串

我一直在看这个帖子。解决方案(第 2 个,使用ls grep)非常适合当前目录中名为 .txt 的文件。如果我想搜索目录和子目录怎么办?

例如,我必须搜索具有许多子目录的目录,并且它们有许多子目录等等。

抱歉,我刚接触 Linux,所以不确定这里是否合适

答案1

--recursive对 grep使用 -R (相当于)选项。

编辑:阅读线程后,在组合中ls /mydata | grep txt$你不需要递归 grep,但是递归 ls。您不需要 grep 文件;您只需 grep ls 的输出,而该输出恰好是文件列表。

“递归 ls” 称为 find :-)

find /mydata -type f | grep txt$

或更好,

find /mydata -type f -name '*.txt'

答案2

我实际上通过使用find . type -f而不是解决了这个问题ls

相关内容