2

検討:

$ echo line1 | awk '1END{ print "line2"}'
line1
line2

1と の間にスペースがないことに注意してくださいEND。これは標準ですか、それとも awk の実装の癖ですか? 次のアドレスからアクションを分離するための文法規則は何ですか?

4

1 に答える 1

2

古いバージョンの を使用している可能性がありawkます。元のawk言語では、同じ行のルールをセミコロンで区切る必要はありませんでした。アクション内のステートメントの処理との一貫性のために追加されました。

私はこれを見つけました:

http://www.gnu.org/software/gawk/manual/html_node/Statements_002fLines.html

これは、GNU Awk 4.0.1 を使用して動作します。

$ echo line1 | awk '1; END { print "line2" }'
line1
line2

を削除する;と、構文エラーが発生します。HTH

于 2012-07-10T12:10:21.483 に答える