uniq
是 Linux 中的一个命令行工具,用于检查和删除文本文件中的重复行。它通常与 sort
命令结合使用,因为 uniq
只能检测相邻的重复行。
uniq [选项] 输入文件
-c
或 --count
:显示每行在文件中出现的次数。-d
或 --repeated
:仅显示重复出现的行。-u
或 --unique
:仅显示不重复的行。-f
或 --skip-fields=N
:跳过前 N 个字段后比较。-s
或 --skip-chars=N
:跳过前 N 个字符后比较。假设你有一个名为 file.txt
的文件,内容如下:
apple
banana
apple
orange
banana
运行以下命令可以删除重复行:
sort file.txt | uniq > output.txt
输出文件 output.txt
的内容将是:
apple
banana
orange
使用 -c
选项:
sort file.txt | uniq -c
输出:
2 apple
2 banana
1 orange
使用 -d
选项:
sort file.txt | uniq -d
输出:
apple
banana
使用 -u
选项:
sort file.txt | uniq -u
输出:
orange
uniq
只能检测相邻的重复行,因此通常需要先使用 sort
命令对文件进行排序。awk
或 perl
脚本,来更有效地处理数据。总之,uniq
是一个简单而强大的工具,用于处理文本文件中的重复行。通过结合其他命令和选项,你可以轻松地完成各种数据清洗和分析任务。
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL(PostgreSQL版)训练营
云+社区沙龙online第6期[开源之道]
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL(PostgreSQL版)训练营
腾讯云数据库TDSQL(PostgreSQL版)训练营
Techo Day
2022OpenCloudOS社区开放日
云+社区沙龙online第6期[开源之道]
云原生正发声
领取专属 10元无门槛券
手把手带您无忧上云