awk中 !a[$0]++ 與 !a[$1...]++

理i解?!a[$0]++?與?!a[$1]++作用及二者區(qū)別,要了解以下兩點:1.a[$0]是未定義的,即undef2.!優(yōu)先級高于++?
基于以上兩點,有如下例子:]++?與?!a[http://img2.ph.126.net/pLiASpYRWzQDqAfq4WdCwA==/2868792962652662006.jpg...]++">?
1.!a[$0]++!a[$0]++可以去除一行中重復(fù)的記錄,以記錄作為數(shù)組(可以將a理解為數(shù)組)索引;基于上面兩點說明,這個不難理解。例子如下]++?與?!a[http://img1.ph.126.net/fQ982Kq0nUb3EYG53WkXuw==/649362771289050004.jpg...]++">從上面例子可以看出,重復(fù)的記錄被刪除掉,只保留重復(fù)記錄中第一次出現(xiàn)的記錄?
2.!a[$1]++?或者?!a[$2]++等等!a[$1]++可以根據(jù)記錄中某個域刪除這個域相同的記錄,也可以根據(jù)這個域相同,執(zhí)行另外一些相應(yīng)的操作。例子如下;]++?與?!a[http://img1.ph.126.net/rc4VO4XgGDvPf45VSuSYOQ==/977281119156469150.jpg...]++">從上面例子可以看出,第二個域相同的多條記錄被刪除,只保留重復(fù)記錄中第一次出現(xiàn)的記錄?
例子:1.文件中有多條重復(fù)的記錄,只顯示重復(fù)記錄中的一條]++?與?!a[http://img0.ph.126.net/elx1pl6ZnjjmQvjtUYJn1g==/2834171540517331086.jpg...]++">?
2.統(tǒng)計(按記錄統(tǒng)計)文件中每條記錄出現(xiàn)的次數(shù)]++?與?!a[http://img0.ph.126.net/JMAOxuC3i-0-VFjtFkad0A==/1168684103320298760.jpg...]++">如上圖所示,按照記錄統(tǒng)計文件中每條記錄出現(xiàn)的次數(shù)?
2.統(tǒng)計(按域統(tǒng)計)文件中某個域出現(xiàn)的次數(shù),有時候可能根據(jù)日志中的IP地址來統(tǒng)計某個IP訪問網(wǎng)站的次數(shù)]++?與?!a[http://img0.ph.126.net/adrs5ZR3qe1du_xZB-gvgg==/2395915001778831717.jpg...]++">??
了解更多網(wǎng)絡(luò)知識關(guān)注:http://www.vecloud.com/