服务器之家

服务器之家 > 正文

linux awk删除文本重复行需要注意强制类型转换的问题

时间:2019-06-10 17:34     来源/作者:linux之家

希望删除IP地址前三段相同的多余重复行。测试文本如下:

1# cat 1.txt
22.1.10.1
32.1.10.2
42.11.0.1
52.11.0.2

如果数组下标不加引号,在这个特殊的情况下会被强制转换为数字,最终导致统计失败:

1# <a href="/article/159.html">awk</a> 'BEGIN{FS=OFS="."}{if(!a[$1.$2.$3]++)print}' 1.txt
22.1.10.1
3 
4# awk -F '.' '{a[$1.$2.$3]++;}END{for(i in a)print i"  "a[i]}' 1.txt
52110  4

数组下标加上引号之后,一切恢复正常:

1# awk 'BEGIN{FS=OFS="."}{if(!a[$1"."$2"."$3]++)print}' 1.txt
22.1.10.1
32.11.0.1
4 
5# awk -F '.' '{a[$1"."$2"."$3]++;}END{for(i in a)print i"  "a[i]}' 1.txt
62.11.0  2
72.1.10  2

扩展阅读:

http://www.gnu.org/software/gawk/manual/html_node/Variable-Typing.html

标签:

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国 2021-05-08
返回顶部

464