스크립트는 다음과 같습니다.
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