cygwin 是 Linux/Unix 裡常用的 bash 給 windows 用的環境,
只要找 bash shell script 相關的字樣,
可找到許多使用 bash 的教學或技巧或發問解答。
如果 a.txt 的內容為:
<pre class="c" name="code">Users of Allegro_studio: (Total of 5 licenses issued)
RESERVATIONs for GROUP LAYOUT
RESERVATION for GROUP RD_EE
然後產生一個 do.sh 的執行指令檔:
<pre class="c" name="code">aa=tr -s " " "\n" < a.txt |grep -c "GROUP"
echo "There are" $aa "GROUP"
total=head -1 a.txt | sed -e "s/.* \([0-9][0-9]*\) .*/\1/"
echo "The Number is "$total
result=$(($total-$aa))
echo "The Result is:" $result
執行:sh do.sh會產生下列的結果:
<pre class="c" name="code">$ sh do.sh
There are 2 GROUP
The Number is 5
The Result is: 3
怎麼用shell script來算一檔案中match幾個指定的字,
是參考 How to count the occurences of a specific word in a file in bash shell 這一文中的解答語法。