gpt4 book ai didi

awk - 用于删除重复行的 shell awk 脚本

转载 作者:行者123 更新时间:2023-12-03 23:27:33 27 4
gpt4 key购买 nike

我试图从文件中删除重复的行,包括原始行,但我正在尝试的以下命令是对行进行排序,我希望它们的顺序与它们在输入文件中的顺序相同。

awk '{++a[$0]}END{for(i in a) if (a[i]==1) print i}' test.txt
Input:
123
aaa
456
123
aaa
888
bbb

Output I want:
456
888
bbb

最佳答案

如果您可以读取输入文件两次,则代码更简单:

$ awk 'NR==FNR{a[$0]++; next} a[$0]==1' ip.txt ip.txt
456
888
bbb

单程:
$ awk '{a[NR]=$0; b[$0]++} END{for(i=1;i<=NR;i++) if(b[a[i]]==1) print a[i]}' ip.txt
456
888
bbb

关于awk - 用于删除重复行的 shell awk 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60943841/

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