파일의 각 단어 수를 찾는 방법은 무엇입니까?
텍스트 파이프라인이나 문서의 각 단어에 대한 히스토그램을 원합니다.
문서를 단어 목록으로 분할하여 각 단어가 새 줄에 표시되도록 할 수 있었습니다. 텍스트 문서에서 직접 가져올 수 있다면 거기에 있는 솔루션도 좋습니다.
> cat doc.txt
word
second
third
word
really
> cat doc.txt | ... # then count occurrences of each word \
and print in descending order separated by delimiter
word 2
really 1
second 1
third 1
파일이 1GB의 텍스트이고 기하급수적인 시간 로드를 처리할 수 없으므로 다소 효율적이어야 합니다.
답변1
한 가지 방법은 다음과 같습니다.
$ sort file | uniq -c | sort -nrk1 | awk '{print $2,$1}'
word 2
third 1
second 1
really 1