如何使用bash脚本在1000文件中查找包含特定字符串的所有行,并将它们写入文本文件并进行微小更改?

时间:2017-10-29 11:44:53

标签: bash grep

我写了一个小脚本,找到一行包含我提供给bash的特定字符串并将它们写入文本文件。

 grep -A $2 "$1" outFile.txt >> "$1-results.txt"

现在我想将搜索应用于1000个文件,但结果将在一个文本文件中。

我想要的第二件事是在开始搜索每个文件之前写一个标题'文件1'当文件1完成时,我添加' FILE 2'等。

我找到了answers,但他们没有在我的文件中使用,只在终端上工作。我尝试做一些修改,但我发誓。

更新

目录包含以下文件:

res1.txt ........ res1000.txt 

以输入为例:

Jhon Age 

这意味着任何一个名字为jhon的人,并带上他的年龄。

预期结果:

      FILE1
 Jhon      43
 Jhon      55 
      FILE2
  Jhon     66
      .
      .
      .
      .
      .
     FILE3
      .
      .
      .

等。

1 个答案:

答案 0 :(得分:-1)

我认为这就是你要找的东西

for i in *.txt;do
  result=$(grep -A "$2" "$1" "$i")
  [ $? -eq 0 ] && { echo "$i"; echo "$result"; }
done