grep & awk grep "^HOGEHOGE" file | awk 'BEGIN { FS = "="}; { print $2 }' というコード。一見何も問題ない様に見えるし確かに動作はするが、 CPU とプロセスと時間の無駄遣いである。 awk (1) には拡張正規表現が実装されているで、 awk 'BEGIN{FS="="}/^HOGEHOGE/{ print $2 }' file とすれば grep (1) の分だけ CPU やプロセス、時間が節約できる。 sed -n '/^HOGEHOGE/s/^.*=//p' file とするのも等価かな。 行指向の処理であれば煩雑な awk (1) よりも sed (1) の方が見やすいので、 個人的には sed (1) を利用した方法がお勧め。 シェルスクリプトに限らずスクリプト言語で記述されたプログラムは、 source f