bash 쉘 스크립트 질문입니다.

crackerman의 이미지

특정 파일, 특정 단어를 입력하면 특정 파일 안에 있는 특정 단어의 개수가 출력되게 하고 싶습니다.

아직 리눅스,bash 두개를 만져본지 오래되지 않아서 어떤 알고리즘으로 돌아가는지 잘 모르겠네요..

정중하게 여쭤보고 싶습니다.

현재 시험삼아 만들어본 testword.txt 란 파일이 있는데, 이 파일 안에는
man
man
man

dog
dog
dog
dog

girl
girl
girl
girl
girl

이런 식으로 단어 3개가 있는데요, 여기서 제가 testword.txt와 dog을 입력하면

4라는 숫자가 출력이 되야하는데 자꾸 엉뚱한 숫자가 나와서요. 조언 부탁드리겠습니다.

File attachments: 
지나가던문과생의 이미지

올려주신 코드를 그대로 재사용하면,
요렇게 해보면 어떤가요?

#!/bin/bash
 
read -p "write the file's name: " f
read -p "write the word you wanna find: " w
 
number=$(cat $f | grep $w | wc -w)
echo $number
 
exit 0

duboo24의 이미지

단어 세는 부분은 한줄로도 가능해요..:D

echo "$(grep $w $f | wc -w)"