У меня есть текстовый файл, который содержит около 50 МБ текста:
valA
valB
valC
valZ
valB
Какой самый быстрый способ:
- кот файл
- Показать уникальные появления
Один из способов использования 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
sort text.txt | uniq -c | grep "^\s*1 "
Обратите внимание, что ValB не является уникальным здесь.
редактировать
Как я мог пропустить, есть -u для uniq: uniq -u
но использовать этот глупый способ :)