用 awk 去重且保留顺序

删除重复行,同时保留首次出现的顺序。

Linux文本脚本命令行低风险
运行 awk '!seen[$0]++' 文件,每行只输出一次且保持原顺序。

01命令

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

02作用说明

sort -u 会打乱顺序,uniq 只能去相邻重复;这个 awk 惯用法记录见过的每一行并按原位输出首次出现。对日志和生成列表而言顺序很重要,而脚本化轻而易举。

03风险

风险低风险
使用条件Preinstalled on Linux (GNU awk)
!注意: 文件所有唯一行会占用内存;基数极高的输入请改用数据库或排序。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

最后验证: 2026-10-13 · 分类: 开发者

06相关方案