如何在unix中删除文件中的重复行?

时间:2014-02-27 11:31:34

标签: unix sed awk

我可以使用以下命令删除文件中的重复行: 1)sort -u和uniq命令。可以使用sed或awk吗?

3 个答案:

答案 0 :(得分:9)

有一个“着名的”awk成语:

awk '!seen[$0]++' file

它必须在内存中保留唯一的行,但它会保留文件顺序。

答案 1 :(得分:0)

排序后我们可以使用这个sed命令

sed -E '$!N; /^(.*)\n\1$/!P; D' filename

如果文件未排序,则可以结合使用该命令。

sort filename | sed -E '$!N; /^\(.*\)\n\1$/!P; D' 

答案 2 :(得分:0)

sort和uniq这些只需删除重复项 猫文件名|排序| uniq>>文件名2

如果其文件由数字组成,则使用sort -n