0

好的,所以我在外部硬盘上使用 grep

例子,

M:/

grep -rhI "bananas" . > out.txt

这将输出“ M:/ ”中包含“香蕉”的任何行

但是我想输出文件的全部内容,所以如果 example.txt 中的一行包含“bananas”,则输出 example.txt 的全部内容,对于目录“M:/”中包含的任何其他 .txt 文件也是如此“ 香蕉 ”。

4

1 回答 1

1

要打印包含该字符串的任何文件名的内容,bananas将是:

find . -type f -exec grep 'bananas' -l --null {} + | xargs -0 cat

以上使用 GNU 工具来处理包含换行符的文件名。

忘记你曾经见过任何 grep args 递归查找文件,将这些 args 添加到 GNU grep 是一个糟糕的主意,只会让你的代码更加复杂。用于查找文件和文件find中的g/re/pgrep

于 2017-06-30T17:34:26.240 回答