如果awk读到file第一记录是 “a b c d”,则 a[$4$3$2$1] == a[dcba],由于a[dcba]是第 一次出现,所以是为空,所以!a[$4$3$2$1] == 1, 打印该行 a b c d,然后执行a[$1$2$3$4]=1,即a[abcd]=1。
然后awk继续读file的第二条记录。如果第二条记录是 “d c b a”,则 a[$4$3$2$1] == a[abcd],由于a[abcd]这个数组(严格说叫散列)在读第一条记录时已经赋值为1,所以!a[$4$3$2$1] == 0,当前读到的这第二条记录就不被打印。