如果grep找到匹配项,请打印grep关键字

时间:2017-02-12 17:53:47

标签: linux bash unix scripting grep

我有一个输入文件Input.txt,其中包含以下示例关键字:

One 
Two 

我还有一个文件Text.txt可供搜索,例如:

Bla Bla
Two more Bla

如果grep找到匹配项,我想打印grep关键字后跟匹配。

所需的输出:

Two:
========
Two more Bla
########

1 个答案:

答案 0 :(得分:0)

使用awk你可以做这样的事情:

$ awk 'NR==FNR{a[FNR]=$0;next}{for(i in a){if($0~a[i])print a[i]":\n========\n"$0}}' input.txt test.txt 
Two:
========
Two more Bla

以更易阅读的格式:

awk 'NR == FNR { 
         a[FNR] = $0 
         next
     } 
     { 
         for(i in a) { 
             if ($0 ~ a[i]) {
                 print a[i] ":\n========\n" $0
             }
         }
     }' input.txt test.txt