【问题标题】:bash script to find pattern in text file and return entire linebash脚本在文本文件中查找模式并返回整行
【发布时间】:2011-08-05 01:42:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: linux bash file shell search


    【解决方案1】:

    在一个目录内

    grep "search string" *.txt
    

    搜索或转到子目录

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

    【讨论】:

      【解决方案2】:

      你可以使用循环:

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

      【讨论】:

        【解决方案3】:

        一个小小的补充。添加-n 以返回该行。

              grep -rn "foo" *.txt 
        

        更多信息请参见grep --help

        【讨论】:

          猜你喜欢
          • 2018-08-24
          • 2011-07-06
          • 1970-01-01
          • 2012-07-24
          • 1970-01-01
          • 1970-01-01
          • 2021-04-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多