加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Unix中删除文件中的重复行?

发布时间:2020-12-15 16:34:35 所属栏目:安全 来源:网络整理
导读:有办法在Unix中删除文件中的重复行吗? 我可以用排序-u和uniq命令。但我想使用sed或awk。 那可能吗? awk '!seen[$0]++' file.txt 看到的是一个关联数组,Awk将传递文件的每一行。如果一个行不在数组中,则看到[$ 0]将计算为false。 !!是一个逻辑NOT运算符
有办法在Unix中删除文件中的重复行吗?

我可以用排序-u和uniq命令。但我想使用sed或awk。
那可能吗?

awk '!seen[$0]++' file.txt

看到的是一个关联数组,Awk将传递文件的每一行。如果一个行不在数组中,则看到[$ 0]将计算为false。 !!是一个逻辑NOT运算符,并将false转换为true。 Awk将打印表达式求值为true的行。看到的增量,看到[$ 0] == 1,在第一次找到一行,然后看到[$ 0] == 2,依此类推。Awk评估除0和“”(空字符串)之外的所有内容为true。如果一个重复行被放置在可见的位置,则![$ 0]将计算为false,并且该行不会被写入输出。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读