grepコマンドで変数を使用
grepコマンドで引数に変数を使用する場合、以下のように記述すると意図したとおりに実行されません。

#!/usr/bin/bash

a="test2  ssss"
grep $a test.txt | wc -l
このシェルは、変数aに空白が混じっている文字列を格納しています。
この変数を検索対象にすると、その後ろにあるtest.txtが第3引数とみなされるため、エラーとなります。
これを回避するには変数自体をダブルクォーテーションで囲みます。
以下、例です。

#!/usr/bin/bash

a="test2  ssss"
grep "$a" test.txt | wc -l #変数$aをダブルクォーテーションで囲む
このようにすることにより意図したとおりのgrepとなります。

Back to top

Information