# cat 1.txt2.1.10.12.1.10.22.11.0.12.11.0.2如果数组下标不加引号,在这个特殊的情况下会被强制转换为数字,最终导致统计失败:
# awk "BEGIN{FS=OFS="."}{if(!a[$1.$2.$3]++)print}" 1.txt2.1.10.1# awk -F "." "{a[$1.$2.$3]++;}END{for(i in a)print i""a[i]}" 1.txt21104数组下标加上引号之后,一切恢复正常:
# awk "BEGIN{FS=OFS="."}{if(!a[$1"."$2"."$3]++)print}" 1.txt2.1.10.12.11.0.1# awk -F "." "{a[$1"."$2"."$3]++;}END{for(i in a)print i""a[i]}" 1.txt2.11.022.1.102扩展阅读: