AWK-多行匹配,打印文件名并进行匹配

DJDM里里森

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

我该怎么办?

nu11p01n73R
awk 'FNR==1{print FILENAME} /abc/' file1 file2

FNR字段设置1为读取新文件。FNR==1在每个输入文件的第一行为true时,将执行的操作将在print FILENAME其中打印file1file2

/abc/abc由于未指定任何操作,因此将匹配包含的所有行,默认情况下将打印整个记录($0)。类似于写作/abc/{print $0}

file1
abc1

file2
abc2
abc3

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打印匹配 awk 脚本的文件名

来自分类Dev

用多行正则表达式awk;根据awk匹配输出文件名

来自分类Dev

awk / sed文件名添加到模式匹配

来自分类Dev

AWK 多行匹配

来自分类Dev

awk:匹配文件末尾后打印行

来自分类Dev

如何在条件下使awk打印多行匹配文件文本中的字符串?

来自分类Dev

bash:awk将每个匹配项写入文件并增加文件名

来自分类Dev

使用AWK打印匹配的图案

来自分类Dev

AWK仅打印匹配的单词

来自分类Dev

AWK:打印与图案匹配的线

来自分类Dev

使用awk匹配和求和多行文件

来自分类Dev

如何使用awk打印路径文件名的尾部

来自分类Dev

如何在awk中打印文件名?

来自分类Dev

使用 awk 进行模式匹配

来自分类Dev

使用awk匹配和合并行并使用Solaris进行打印

来自分类Dev

AWK - 如何从多个文件中提取匹配项,包括文件名的一部分

来自分类Dev

使用awk打印从匹配到文件结尾的行

来自分类Dev

匹配模式并使用awk或grep打印文件中的相应列

来自分类Dev

在文件中打印特定匹配值的 awk 参数

来自分类Dev

awk 匹配两个文件并打印所需的输出

来自分类Dev

文件中的awk匹配模式

来自分类Dev

如何在多行中使AWK都匹配

来自分类Dev

AWK打印找到匹配项的列号

来自分类Dev

AWK中的空白打印和匹配

来自分类Dev

AWK打印找到匹配项的列号

来自分类Dev

awk精确变量匹配,打印剩余的行

来自分类Dev

awk如果匹配则向后打印2行

来自分类Dev

awk比较2个文件,打印匹配行和不匹配行

来自分类Dev

awk比较2个文件,打印匹配行和不匹配行