0

我正在打开多个文件awk并测试此命令

我正在尝试这个进行测试

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

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

这个语法正确吗

4

1 回答 1

1

由于您没有为第二个操作指定模式,它总是执行。如果您只希望它在 NR!=FNR 时执行,请尝试以下操作:

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

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

于 2013-02-04T05:21:10.390 回答