linux awk刪除文本重復(fù)行需要注意強(qiáng)制類型轉(zhuǎn)換的問題
希望刪除IP地址前三段相同的多余重復(fù)行。測(cè)試文本如下:
# cat 1.txt 2.1.10.1 2.1.10.2 2.11.0.1 2.11.0.2
如果數(shù)組下標(biāo)不加引號(hào),在這個(gè)特殊的情況下會(huì)被強(qiáng)制轉(zhuǎn)換為數(shù)字,最終導(dǎo)致統(tǒng)計(jì)失敗:
# awk 'BEGIN{FS=OFS="."}{if(!a[$1.$2.$3]++)print}' 1.txt
2.1.10.1
# awk -F '.' '{a[$1.$2.$3]++;}END{for(i in a)print i" "a[i]}' 1.txt
2110 4
數(shù)組下標(biāo)加上引號(hào)之后,一切恢復(fù)正常:
# awk 'BEGIN{FS=OFS="."}{if(!a[$1"."$2"."$3]++)print}' 1.txt
2.1.10.1
2.11.0.1
# awk -F '.' '{a[$1"."$2"."$3]++;}END{for(i in a)print i" "a[i]}' 1.txt
2.11.0 2
2.1.10 2
擴(kuò)展閱讀:
http://www.gnu.org/software/gawk/manual/html_node/Variable-Typing.html
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信