在Linux中,可以使用uniq
命令来去除文件中的重复行
- 删除连续重复行:
uniq input_file > output_file
这将读取input_file
,删除连续的重复行,并将结果保存到output_file
。如果你想直接修改原始文件,可以使用-i
选项:
uniq -i input_file > output_file
- 删除所有重复行:
要删除所有重复行,而不仅仅是连续的重复行,你需要先对文件进行排序,然后再使用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
。