我有以下awk命令awk中多行匹配,打印文件名和匹配
awk -v RS=! -v ORS= '/abc/ && /def/ {print FILENAME;}' files
這看起來在文件中的每個文件,通過該文件中的每條記錄分離,然後匹配記錄到'abc'和'def'。上面的代碼將打印文件的名稱。如果我刪除了{print FILENAME}
它將打印整個記錄,如果匹配。
的文件看起來像:
abc1
bce
bcd
def
!
abc2
bce
def
!
我想打印出來的文件名,符合「ABC」就行了。例如:
file1
abc1
file2
abc2
abc3
我該怎麼辦?
做類似的?你是否需要在你的示例awk腳本(對該腳本的修改)的上下文中完成此操作?或者像@ nu11p01n73R的答案是可以接受的? – 2014-10-08 19:13:05