我想製作一個接受元音的shell腳本,並在文本文件「abc.txt」中輸出該元音的出現次數。grep語句不適用於case語句
下面的腳本作品完美(腳本打印元音「A」的文本文件中「的abc.txt」出現的次數):
#!/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
我迷路了,爲什麼當我把他們case
內grep
報表不顯示任何內容聲明。
如果你想改善命令,你可以嘗試''grep -oci「$ vovel」''(不區分大小寫的grep),當vovel不需要驗證時。 – allo
grep -oc [aA] abc.txt和grep -oci'a'abc.txt似乎不起作用。不管有多少個a,都返回1。 – Jaspreet
@Jaspreet:它對我來說工作得很好。你能告訴我們'abc.txt'什麼命令字符,您在搜索爲 – Inian