使用awk去除重复行

时间:2024-03-27 08:32:39

先上图看一个例子:
使用awk去除重复行

说明:file1.txt文件中存在一些内容重复的行,通过执行awk '!a[$0]++' file1.txt看到输出结果中将重复内容的行信息过滤掉了。

原理:在awk命令中,$0参数表示当前行的内容。a[$0]就是以每行内容为索引的一个数组,它的初始值为0。所以当该行内容第一次出现时,! 0=1为真,则打印该行;如果行内容重复,由于执行了++,它的值增加变为非零,非零再进行否运算为假,就不再打印该行内容。