在Linux中,可以使用uniq
命令来去除文本文件中的重复行
- 删除连续的重复行:
uniq input_file > output_file
这将把input_file
中的连续重复行删除,并将结果保存到output_file
。如果你想直接在原文件中修改,可以使用-i
选项:
uniq -i input_file > output_file
- 删除所有重复行(不仅仅是连续的):
要删除所有重复行,你需要先对文件进行排序,然后再使用uniq
命令。这样,所有重复行都会被删除。
sort input_file | uniq > output_file
同样,如果你想直接在原文件中修改,可以使用-i
选项:
sort input_file | uniq -i > output_file
注意:这些命令会改变文件的行顺序。如果你想保持原始行顺序,可以使用awk
命令:
awk '!visited[$0]++' input_file > output_file
这将删除所有重复行,同时保持原始行顺序。