先上图看一个例子:
说明:file1.txt
文件中存在一些内容重复的行,通过执行awk '!a[$0]++' file1.txt
看到输出结果中将重复内容的行信息过滤掉了。
原理:在awk命令中,$0
参数表示当前行的内容。a[$0]
就是以每行内容为索引的一个数组,它的初始值为0
。所以当该行内容第一次出现时,! 0=1
为真,则打印该行;如果行内容重复,由于执行了++
,它的值增加变为非零,非零再进行否运算为假,就不再打印该行内容。
先上图看一个例子:
说明:file1.txt
文件中存在一些内容重复的行,通过执行awk '!a[$0]++' file1.txt
看到输出结果中将重复内容的行信息过滤掉了。
原理:在awk命令中,$0
参数表示当前行的内容。a[$0]
就是以每行内容为索引的一个数组,它的初始值为0
。所以当该行内容第一次出现时,! 0=1
为真,则打印该行;如果行内容重复,由于执行了++
,它的值增加变为非零,非零再进行否运算为假,就不再打印该行内容。