如何将短语的出现输出到给定目录的文件?

时间:2013-01-15 16:20:57

标签: linux bash unix grep

我在使用grep输出与模式匹配的短语列表时遇到了一些麻烦。例如,我有一个具有此格式的文件列表(由行分隔):

date:12/13/2012 name:foo time:10000
date:12/13/2012 name:bar time:20000
date:12/13/2012 name:hello time:30000
date:1/13/2012 name:foo time:40000

理想情况下,我想要的只是一个匹配“name:foo”的文件,其输出如下:

date:12/13/2012 name:foo time:10000
date:1/13/2012 name:foo time:40000

有一种简单的方法吗?我正在玩grep但是我没有成功获得所需的输出。

1 个答案:

答案 0 :(得分:2)

grep -hr 'name:foo' * > output.txt

以递归方式搜索当前文件夹和所有子文件夹中的每个文件,搜索短语“name:foo”,如果在特定行上找到,则将该行打印到output.txt

这是你想要的吗?

如果找到匹配行的文件有任何重要性,只需删除-h参数,它也会打印文件。