스크립트에서 모음 수를 찾는 쉘 스크립트

스크립트에서 모음 수를 찾는 쉘 스크립트

스크립트는 다음과 같습니다.

clear
echo
read str
len=`expr length $str`
count=0
while [ $len -gt 0 ]
do
    ch=`echo $str | cut -c $len`
    case $ch in
        [(aeiouAEIOU)]
            count=`expr $count + 1`
            echo $ch
            ;;

    len=`expr $len - 1`
done
echo $count

실수:

prog6: line 12: syntax error: unexpected newline (expecting ")")

답변1

왜 사용하지 않습니까:

grep -o [aeiouAEIOU] file | wc -l

코드는 다음과 같습니다(수정됨).

#!/bin/bash

clear
echo
read str
len=$(expr length $str)
count=0
while [ $len -gt 0 ]
do
   ch=$(echo $str | cut -c $len)
   case $ch in
      [aeiouAEIOU] )
         count=$(($count + 1))
         echo $ch
      ;;
   esac
   len=$(( $len - 1 ))
done
echo $count

답변2

들여쓰기 등을 확인하기 위해 일부 형식을 다시 지정할 수 있다고 생각합니다. 나를 놀라게 하는 유일한 것은 당신이 esac당신의 계약을 마감할 진술이 없다는 것입니다 case.

답변3

perl -n0E 'say y/aeiou//' file

Perl에서는 번역( y///) 함수가 번역된 이름을 반환합니다.

답변4

echo -n "enter string : "
read str
v=$(echo $str | grep -o -i "[aeiou]" | wc -l)
echo $v

관련 정보