2017-12-03 106 views
0

我需要幫助編寫腳本以執行以下在a部分中所述的操作。用於查找文件名中特定單詞的Linux腳本

以下代碼將輸出$ filename中的所有單詞,每個單詞放在單獨一行中。

for word in 「cat $filename」 
do 
    echo $word 
done 

a。編寫一個接收兩個參數的新腳本。第一個是文件名($ 1而不是$ filename),第二個是要搜索的單詞($ 2)。在for循環中,而不是echo $ word,使用if語句將$ 2與$ word進行比較。如果它們相同,則向名爲COUNT的變量添加一個。在for循環之前,將COUNT初始化爲0,並在for循環之後輸出一條消息,告訴用戶在$ 1中出現$ 2的次數。也就是說,在echo語句中輸出$ COUNT,$ 2和$ 1,但要確保在這裏有一些文字,這樣輸出對用戶來說纔是有意義的。提示:要比較兩個字符串,請使用符號[$ string1 == $ string2]。要向變量添加一個,請使用符號X = $((X + 1))。如果每條指令位於不同的行上,則不需要任何分號。在/ etc/fstab上用默認值測試你的腳本(應該找到7次出現)

這就是我到目前爲止所得到的結果,但它不起作用。它說它在/ etc/fstab中找到了0個「defaults」字樣。我相信我的代碼是錯誤的,但無法找出問題所在。幫助表示讚賞。

count=0 
echo 「what word do you want to search for?: 「 
read two 
for word in 「cat $1」 
do 
    if [ 「$two」 == 「$word」 ]; then 
     count=$((count+1)) 
    fi 
done 
echo $two appeared $count times in $1 
+1

請不要使用'「'在你的代碼,使用常規的雙引號'「'所以你的代碼可以被複制粘貼。 – PesaThe

回答

相關問題