用 awk 去重且保留顺序
删除重复行,同时保留首次出现的顺序。
运行 awk '!seen[$0]++' 文件,每行只输出一次且保持原顺序。
01命令
命令
$ awk '!seen[$0]++' file.txt02作用说明
sort -u 会打乱顺序,uniq 只能去相邻重复;这个 awk 惯用法记录见过的每一行并按原位输出首次出现。对日志和生成列表而言顺序很重要,而脚本化轻而易举。
03风险
!注意: 文件所有唯一行会占用内存;基数极高的输入请改用数据库或排序。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- gawk.1.en.html manual page (Debian bookworm)依据: Documents associative arrays, used here to remember seen lines.
最后验证: 2026-10-13 · 分类: 开发者