awk的程序指令由模式和操作组成,即Pattern { Action }的形式,如果省略Action,则默认执行 print $0 的操作。
模式(Pattern)用于筛选记录,操作(Action)用于处理字段,操作可以有多个,大括号内用;号隔开。
awk '!S[$0]++' file.txt
++ 先赋值再+1
! 直接取反,若S[$0] 不存在数组里,运算后的结果为
'!0' S[$0]=1
模式匹配为!0 ,所以执行print $0
若该行存在数组里
'!1' S[$0]=2
模式匹配为!1 或者!2 模式匹配为0,进入下一行