要解决"awk打印比原始文件中的记录多"的问题,可以使用awk命令的内置变量NR来判断记录数量。以下是一个包含代码示例的解决方法:
awk 'NR > FNR {print}' file1.txt file2.txt
在这个例子中,我们使用了两个输入文件file1.txt和file2.txt。awk命令会逐行读取这两个文件,并用NR和FNR来判断当前记录所在的行数。
NR是awk的内置变量,表示当前处理的行数。FNR也是一个内置变量,表示当前文件的行数。
在这个例子中,当NR大于FNR时,表示当前记录不属于第一个文件file1.txt,而是第二个文件file2.txt。我们可以使用print命令打印这些记录。
这样,awk命令就会打印出file2.txt中比file1.txt多出来的记录。
注意:在这个解决方法中,假设file1.txt是较小的文件,file2.txt是较大的文件。如果两个文件的大小相同,可以交换file1.txt和file2.txt的位置,结果会相同。
上一篇:awk打印$0与换行分隔的列值
下一篇:awk打印错误的变量到文件。