如何删除行只使用bash在文件中出现一次

use*_*340 3 bash awk uniq

如何删除bash文件中只出现一次的行?

例如,文件foo.txt具有:

1
2
3
3
4
5
Run Code Online (Sandbox Code Playgroud)

仅处理完文件后

3
3
Run Code Online (Sandbox Code Playgroud)

会保持.

请注意,文件已经排序.

oli*_*liv 6

如果重复的行是连续的,则可以使用 uniq

uniq -D file
Run Code Online (Sandbox Code Playgroud)

从手册页:

-D打印所有重复的行

  • 如果重复的行不是连续的,则必须先对它们进行排序`sort file | uniq -D` (2认同)
  • 请注意,`-D`是_GNU-specific_扩展名,不适用于BSD/macOS`uniq`. (2认同)