【发布时间】:2017-10-05 08:57:39
【问题描述】:
我想制作一个接受元音并在文本文件“abc.txt”中打印该元音出现次数的 shell 脚本。
以下脚本完美运行(用于打印文本文件“abc.txt”中元音“a”出现次数的脚本):
#!/bin/bash
grep -o [aA] abc.txt|wc -l
但我想为所有元音实现这个,所以我这样做了:
#!/bin/bash
echo -n "Enter the desired vowel: "
read ch
case ch in
a) grep -o [aA] abc.txt|wc -l;;
A) grep -o [aA] abc.txt|wc -l;;
e) grep -o [eE] abc.txt|wc -l;;
.
.
.
U) grep -o [uU] abc.txt|wc -l;;
esac
代码执行,但在我输入所需的元音后,没有显示任何内容。我也试过这个(但结果和上面的代码一样):
#!/bin/bash
x=0
echo -n "Enter the desired vowel: "
read ch
case ch in
a) x=grep -o [aA] abc.txt|wc -l;echo $x;;
A) x=grep -o [aA] abc.txt|wc -l;echo $x;;
e) x=grep -o [eE] abc.txt|wc -l;echo $x;;
.
.
.
U) x=grep -o [uU] abc.txt|wc -l;echo $x;;
esac
我不知道为什么当我将 grep 语句放在 case 语句中时它们没有显示任何内容。
【问题讨论】: