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

问题描述 投票:0回答:4

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

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

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

linux bash file shell search
4个回答
12
投票

一个目录内

grep "search string" *.txt

搜索或转到子目录

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

0
投票

你可以使用循环:

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


0
投票

稍微补充一下。添加

-n
以返回该行。

      grep -rn "foo" *.txt 

请参阅

grep --help
了解更多。


0
投票

行号不是所要求的。要求的是在一行中搜索子字符串并返回整行。

© www.soinside.com 2019 - 2024. All rights reserved.