我可以使用以下命令删除文件中的重复行: 1)sort -u 和 uniq 命令。用 sed 或 awk 可以实现吗?
有个“著名”的awk习惯用法:
awk '!seen[$0]++' file
它必须将唯一行保留在内存中,但保留文件顺序。
排序后,我们可以使用以下sed命令
sed -E '$!N; /^(.*)\n\1$/!P; D' filename
sort filename | sed -E '$!N; /^\(.*\)\n\1$/!P; D'
排序和去重只需要删除重复项 cat 文件名 | sort | uniq >> 文件名2
如果文件包含数字,请使用 sort -n
uniq
命令也是无用的。只需使用 sort -u 文件名
命令即可。 -u
选项会调用 sort
的唯一模式。[这些都没有回答 OP 的问题...] - dave58