텍스트 파일에서 단어의 발생 횟수를 계산합니다.

텍스트 파일에서 단어의 발생 횟수를 계산합니다.

트윗이 포함된 텍스트 파일이 있는데 트윗에서 특정 단어가 언급된 횟수를 계산해야 합니다. 예를 들어 이 파일에는 다음이 포함됩니다.

Apple iPhone X is going to worth a fortune
The iPhone X is Apple's latest flagship iPhone. How will it pit against it's competitors?

문서에서 iPhone이라는 단어가 언급된 횟수를 세고 싶다고 가정해 보겠습니다. 내가 시도한 것은 다음과 같습니다.

cut -f 1 Tweet_Data | grep -i "iPhone" | wc -l

작동하지만 유닉스의 "wc" 명령이 혼란스럽습니다. 다음과 같이 시도하면 차이점은 무엇입니까?

cut -f 1 Tweet_Data | grep -c "iPhone"

대신 -c를 어디에서 사용해야 합니까? 두 방법 모두 트윗으로 가득 찬 대용량 파일에서 서로 다른 결과를 생성하며 어떻게 작동하는지 혼란스럽습니다. 발생 횟수를 계산하는 올바른 방법은 무엇입니까?

답변1

그러한 요구 사항이 주어지면 나는 GNU grep을 사용할 것입니다(-o옵션),그 다음에이를 전달하여 wc총 발생 횟수를 계산합니다.

$ grep -o -i iphone Tweet_Data | wc -l
3

일반 텍스트 grep -c의 데이터가 계산됩니다.철사총 횟수가 아닌 일치 횟수성격그 게임. 이 -o옵션을 사용하면 grep은 원래 줄에서 일치 항목이 몇 번이나 발견되었는지에 관계없이 각 일치 항목을 자체 줄에 출력하도록 지시합니다.

wc -lwc행 수를 계산하도록 유틸리티에 지시합니다 . grep이 각 일치 항목을 자체 줄에 넣은 후 이는 입력에서 해당 단어가 나타나는 총 횟수입니다.


GNU grep을 사용할 수 없거나 필요하지 않은 경우 tr각 단어가 한 줄에 표시되도록 입력을 변환한 다음 grep -c계산을 사용할 수 있습니다.

$ tr '[:space:]' '[\n*]' < Tweet_Data | grep -i -c iphone
3

답변2

가장 간단한 방법은,

grep -wc "your_text" FileName

당신에게는 그럴 것입니다.

grep -wc "iPhone" Tweet_Data

관련 정보