Grep은 줄 대신 단어를 찾습니다.

Grep은 줄 대신 단어를 찾습니다.

단어 수로 텍스트 파일을 검색해야 합니다. 파일에는 문장 줄이 포함되어 있으며 줄 수가 아닌 단어가 나타나는 횟수에만 관심이 있습니다. 줄 대신 단어를 검색하도록 grep에 어떻게 지시합니까?

grep -c '^ab'예를 들어 (로 시작하는 단어 )를 사용하면 로 시작하는 단어 수가 아니라 ab로 시작하는 줄 수만 반환됩니다 .abab

답변1

GNU grep을 사용하면 이 -o플래그를 사용하여 모든 일치 항목을 얻은 다음 개수를 계산할 수 있습니다 wc -l.

grep -o '\<ab' file.txt | wc -l

아니면 grep 자체를 사용하여 계산할 수도 있을 것 같습니다.

grep -o '\<ab' file.txt | grep -c ''

(" \<"는 "단어의 시작"을 의미합니다.)

답변2

file.txt줄 수 대신 단어 수를 계산하려면 각 단어를 한 줄에 입력하면 됩니다.

tr " " "\n" file.txt | grep -c '^ab'

관련 정보