作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法删除 Unix 中文件中的重复行?
我可以使用 sort -u
和 uniq
命令来完成此操作,但我想使用 sed
或 awk
>.
这可能吗?
最佳答案
awk '!seen[$0]++' file.txt
seen
是一个关联数组,AWK 将向其传递文件的每一行。如果数组中没有某行,则 seen[$0]
将计算为 false。 !
是逻辑 NOT 运算符,会将 false 反转为 true。 AWK 将打印表达式计算结果为 true 的行。
++
递增 seen
,以便在第一次找到一行后 seen[$0] == 1
,然后 seen[$0] == 2
,等等。AWK 将除 0
和 ""
(空字符串)之外的所有内容评估为 true。如果将重复行放入 seen
中,则 !seen[$0]
的计算结果将为 false,并且该行不会写入输出。
关于unix - 如何在 Unix 中删除文件中的重复行而不对其进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1444406/
我是一名优秀的程序员,十分优秀!