Linux 去重命令有多个,以下是一些常用的:
uniq
:该命令用于统计连续重复行的数量,并打印出不重复的行。其基本语法如下:
uniq [选项] [文件]
例如,要查看文件 file.txt
中连续重复的行,可以使用以下命令:
uniq file.txt
awk
:该命令可以用于去重,通过指定分隔符将文件内容分割成字段,然后比较相邻字段的值,去除重复的行。其基本语法如下:
awk -F [分隔符] '{if (!seen[$i]++) print $i}' [文件]
例如,要查看文件 file.txt
中以逗号分隔的列,并去除重复的行,可以使用以下命令:
awk -F ',' '{if (!seen[$1]++) print $0}' file.txt
sort
:该命令可以对文件内容进行排序,然后使用uniq
命令去除排序后连续重复的行。其基本语法如下:
sort [选项] [文件] | uniq [选项]
例如,要查看文件 file.txt
中的行,去除重复的行,并按字母顺序排序,可以使用以下命令:
sort file.txt | uniq
comm
:该命令用于比较两个已排序的文件,并打印出两个文件中不同的行。其基本语法如下:
comm [选项] [文件1] [文件2]
例如,要比较文件 file1.txt
和 file2.txt
,并打印出两个文件中不同的行,可以使用以下命令:
comm -23 file1.txt file2.txt
这些命令都可以用于 Linux 去重,具体使用哪个命令取决于你的需求和文件格式。