bash脚本在文本文件中查找模式并返回整行

时间:2011-04-13 21:13:40

标签: linux bash file shell search

我需要创建一个bash脚本,它遍历目录中的一堆.txt文件,然后在每个.txt中搜索一个字符串,并返回字符串出现在

上的整行。

我知道如何浏览目录中的所有.txt文件,

我只需指向正确的方向搜索文件本身,并根据该行中的匹配返回一行

3 个答案:

答案 0 :(得分:9)

在一个目录中

grep "search string" *.txt

搜索或转到子目录

find /full/path/to/dir -name "*.txt" -exec grep "search string" {} ;\

答案 1 :(得分:0)

你可以使用循环:

for i in $(find|grep .txt); do grep "search" "$i"; 如果您还想在每次匹配时打印文件名,请将-H添加到grep

答案 2 :(得分:0)

一点点补充。添加-n以返回该行。

      grep -rn "foo" *.txt 

有关详情,请参阅grep --help