Linux 排序-n uniq-c

Linux 排序-n uniq-c

我有一个包含大约 50MB 文本的文本文件:

valA
valB
valC
valZ
valB

最快的方法是:

  1. 猫文件
  2. 展现独特外观

答案1

一种使用方式awk

awk '!array[$0]++' file.txt

结果:

valA
valB
valC
valZ

值得深思的是:

sort -u file.txt

valA
valB
valC
valZ

< file.txt sort | uniq

valA
valB
valC
valZ

< file.txt sort | uniq -u                 # only print unique lines

valA
valC
valZ

< file.txt sort | uniq -d                 # only print duplicate lines

valB

答案2

sort text.txt | uniq -c | grep "^\s*1 "

  • 你必须在 uniq 之前排序
  • grep 那些 count=1 的

注意这里 valB 不是唯一的。

编辑

我怎么会错过 uniq: 的 -uuniq -u却使用这种愚蠢的方式:)

相关内容