![Linux를 사용하여 가장 일반적인 단어를 카운터로 파일에 쓰기](https://rvso.com/image/1518671/Linux%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EA%B0%80%EC%9E%A5%20%EC%9D%BC%EB%B0%98%EC%A0%81%EC%9D%B8%20%EB%8B%A8%EC%96%B4%EB%A5%BC%20%EC%B9%B4%EC%9A%B4%ED%84%B0%EB%A1%9C%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%93%B0%EA%B8%B0.png)
텍스트에 X번 이상 나타나는 단어를 파일에 쓰고 싶습니다. 예를 들면 다음과 같습니다.
a
b
a
c
b
X = 2라면 다음과 같은 결과를 얻을 수 있습니다.
a
b
답변1
이것은 기본 작업을 수행하지만 큰 단어 목록에서는 속도가 상당히 느립니다.
set Count
sort < WordList | uniq | while read w; \
do [ $(grep -c "^$w$" WordList) -ge $1 ] && echo $w; done
더 빠른 답변(Kamil Maciorowski에게 감사드립니다):-
set Count
sort < WordList | uniq -c | while read c w; do [ $c -ge $1 ] && echo $w; done
이는 다음을 가정합니다.
- 당신은 자신의 항목을 설정
FileList
합니다Count
. - 에서는 단어가 한 줄에 하나씩 있습니다
WordList
. - 대소문자가 중요합니다(예:
The
와는the
다름). - 이것은 명령줄 항목입니다. 스크립트에서는
set Count
생략되고 매개변수로 전달됩니다.
정확한 요구 사항에 맞게 수정해야 하지만 거의 확실하게 이를 시작해야 합니다.