2017-12-03 5 views
0

下記のaを参考にスクリプトを書くのに助けが必要です。ファイル名に特定の単語を見つけるためのlinuxスクリプト

次のコードは、$ filenameにあるすべての単語を別々の行に出力します。

for word in “cat $filename” 
do 
    echo $word 
done 

a。 2つのパラメータを受け取る新しいスクリプトを作成します。最初はファイル名($ filenameではなく$ 1)で、2番目は検索する単語($ 2)です。 forループの中では、echo $ wordの代わりにif文を使って$ 2と$ wordを比較します。それらが等しい場合は、COUNTという変数に1を加えます。 forループの前にCOUNTを0に初期化し、forループの後に、$ 2に$ 2が何回現れたかをユーザーに知らせるメッセージを出力します。つまり、echo文で$ COUNT、$ 2、$ 1を出力しますが、出力が実際にユーザーにとって意味をなされるように、ここにいくつかのリテラルワードがあることを確認してください。ヒント:2つの文字列を比較するには、[$ string1 == $ string2]という表記法を使用します。変数に変数を追加するには、X = $((X + 1))を使用します。すべての命令が別の行にある場合は、セミコロンは必要ありません。/etc/fstabのスクリプトをdefaultという文字でテストしてください(7回は見つかるはずです)

これは私がこれまでに得たものですが、正しく動作しません。これは、/ etc/fstabに "defaults"という単語が0回出現したことを示しています。私のコードは間違っていると確信していますが、問題を理解することはできません。ヘルプは高く評価されます。

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

答えて

関連する問題