最初の行の文字を比較する
最初に 'india' というキーワードがあった場合に行を表示するというものです。以下のようなものを作成したけれど動作しないという内容です。
#! /bin/sh read line flag=awk /^india/ $line echo $flag #end
修正の方法に comp.lang.awk らしさ (質問者の提示したスクリプトの修正を最小限にする) が出ています。
awk -v line="$line" 'BEGIN{ print (line ~ /^india/ ? 1 : 0); exit }'
shell 単独での解法は comp.lang.shell でも有名な (?) Ed の回答です。
read line case $line in "india".* ) flag=1 ;; * ) flag=0 ;; esac echo "$flag"
や
flag=`awk /^india/ $line`
また、csh 系の
flag=$(awk /^india/ $line) # Not available in bourne-sh
という記述方法、そしてパイプを使った方法も示されています。
flag=`echo "$line" | awk '/^india/'`