温馨提示×

linux去重命令怎么实现

小樊
81
2024-12-01 00:37:55
栏目: 智能运维

在Linux中,可以使用uniq命令来去除文件中的重复行

  1. 删除连续重复行:
uniq input_file > output_file

这将读取input_file,删除连续的重复行,并将结果保存到output_file。如果你想直接修改原始文件,可以使用-i选项:

uniq -i input_file > output_file
  1. 删除所有重复行:

要删除所有重复行,而不仅仅是连续的重复行,你需要先对文件进行排序,然后再使用uniq命令。这样做是因为排序后的相同行将相邻,然后uniq可以轻松删除它们。

sort input_file | uniq > output_file

同样,如果你想直接修改原始文件,可以使用-i选项:

sort -i input_file | uniq > output_file

注意:这些命令会改变文件的行顺序。如果你想保持原始文件的行顺序,可以使用awk命令:

awk '!visited[$0]++' input_file > output_file

这将读取input_file,使用一个关联数组visited来跟踪已经遇到的行,只输出未访问过的行,并将结果保存到output_file

0