2
说我有用以下文本文件:使用grep或类似匹配多个线
Line1
Cmd1
Cmd2
Cmd3
#
Line2
Cmd1
Cmd3
Cmd4
#
凡线路1是一个部分,后跟数字CONFIGS的其可以是部分之间不同,然后一#分隔每个部分。
我明白,我可以用grep如下:
grep 'cmd2' file
在文件中匹配CMD2。但是,如果它在Line1部分中,我只想匹配cmd2。使用-B是不可能的,因为节之间可能有不同数量的配置。
谢谢。
完美!无论如何打印当前输入文件名与输出,而不仅仅是输出本身。我找到了{print FILENAME},然而这只是打印文件名。 – DJDMorrison 2014-10-03 20:47:08
当然你可以使用:'awk -v RS =#-v ORS ='/ Line1/&&/Cmd2/{print FILENAME“::”$ 0}'文件' – anubhava 2014-10-03 20:48:36
谢谢anubhava! – DJDMorrison 2014-10-03 20:50:29