awk は、awk の中で変数を持っていますので、シェル変数の持ち込み方(使い方)に工夫が必要です。-v オプションで -v VAR=${VAR} とする方法とは別に、条件指定(/ で括った場合)でもひと癖あります。
$ VAR1="abc"上記のようにすると、$VAR1 という文字列を検索して、変数 VAR1 の内容"abc"で検索をしてくれません。そこで、以下のように記述することで、変数 VAR1 の内容"abc"で検索してくれます。
$ awk '/$VAR1/ {print}' a.dat
$ VAR1="abc"シングルクォートで囲ってあげることで、シェル変数として認識してくれます。
$ awk '/'$VAR1'/ {print}' a.dat