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

前端之家收集整理的这篇文章主要介绍了如何在Unix中删除文件中的重复行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有办法在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,并且该行不会被写入输出

猜你在找的Bash相关文章