gpt4 book ai didi

unix - 如何在 Unix 中删除文件中的重复行而不对其进行排序

转载 作者:行者123 更新时间:2023-12-03 04:36:47 25 4
gpt4 key购买 nike

有没有办法删除 Unix 中文件中的重复行?

我可以使用 sort -uuniq 命令来完成此操作,但我想使用 sedawk >.

这可能吗?

最佳答案

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com