首页操作系统linux awk删除文本重复行需要注意强制类型转换的问题

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

时间2024-03-09 03:21:03发布访客分类操作系统浏览539
导读:收集整理的这篇文章主要介绍了linux awk删除文本重复行需要注意强制类型转换的问题 ,觉得挺不错的,现在分享给大家,也给大家做个参考。 希望删除IP地址前三段相同的多余重复行。测试文本如下:# cat 1.txt2.1.10....
收集整理的这篇文章主要介绍了linux awk删除文本重复行需要注意强制类型转换的问题 ,觉得挺不错的,现在分享给大家,也给大家做个参考。

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

# 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.txt2110  4

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

# 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.0  22.1.10  2

扩展阅读:

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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: linux awk删除文本重复行需要注意强制类型转换的问题
本文地址: https://pptw.com/jishu/645277.html
Linux ACL基本概念及典型用法 Linux中文件系统的目录结构详细介绍

游客 回复需填写必要信息