awk`を試すときにエコアクションを使う

awk`を試すときにエコアクションを使う

たぶん

 echo `echo "foo"`

有効ですが

 echo `awk '{ print "foo" }'`

いいえ?

ベストアンサー1

プログラムはawk入力を待ち、各入力行ごとに単語を印刷しますfoo。これがawkまさにプログラムがすることだ{ print "foo" }

対照的に、echo最初のコマンド置換では入力は待機されません。

awkプログラムに入力なしで何かを印刷させますか?出力をブロックとして実行しますBEGIN

awk 'BEGIN { print "foo" }'

ブロックBEGINが実行されます。今後入力の最初の行を読み込み、スクリプトに他のブロックもなく入力ファイルもないため終了します。

またecho $( ... )、同じコードを書かずに、echo ` ... `コマンドの置き換えにそのコードを使用してください。

おすすめ記事