awk模式匹配的正确语法是什么

时间:2013-02-04 05:17:24

标签: linux awk

我用awk打开多个文件,我测试了这个命令

我正在尝试进行测试

awk -F"," 'NR==FNR{print FILENAME} {print FILENAME}' file2.txt file1.txt

第二个块应该在NR!= FNR时执行,但对我来说它一直在执行。

这种语法是否正确

1 个答案:

答案 0 :(得分:1)

由于您尚未为第二个操作指定模式,因此它始终会执行。如果您只想在NR!= FNR时执行它,请尝试类似:

NR==FNR { printf("NR==FNR, Filename=%s", FILENAME); }
NR!=FNR { printf("NR!=FNR, Filename=%s", FILENAME); }

无论好坏,模式都没有else,因此您通常最终明确指定每个模式。