我有以下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