발생 횟수를 계산합니다.

발생 횟수를 계산합니다.

알파벳의 각 문자를 사용하여 A부터 Z까지 단어 수를 추출해야 합니다. 내가 만들고 싶은 스크립트는 분석할 사전 파일의 이름을 매개변수로 취하고 이렇게 ./langstat를 사용합니다. sh dico.txt

나는 다음과 같은 것을 시도했습니다.

    #!/bin/bash
    cat ~/dico.txt | grep -o A | wc -l

문제는 모든 파일에 있는 A의 개수를 알려주는데 A가 입력한 단어의 개수만 알고 싶을 뿐입니다.

도와주세요?

답변1

대신 이것을 사용할 수 있습니다:

for c in {A..Z}; do
  echo -n "$c: "
  tr ' ' '\n' < dico.txt | grep $c | wc -l
done

작동 방식은 다음과 같습니다. for 루프는 각 문자를 A에서 Z까지 반복합니다. tr모든 공백을 줄 바꿈으로 바꾸어 각 단어에 자체 줄이 있도록 합니다. 그런 다음 grep단어에서 문자를 검색하고 발견되면 인쇄합니다. wc이 행을 계산합니다.

답변2

도움이 되었나요?

#!/bin/bash
tr ' ' '\n' < "$1" | sort -u > my.tmp
for letter in {A..Z}
do
    printf "Words with %c : " $letter
    grep -iwc "\w*$letter\w*" my.tmp
    echo
done
rm my.tmp

관련 정보