Return キーを押すと awk '{print "Hi, Judy"}' が "Hi, Judy" を繰り返し印刷するのはなぜですか?

Return キーを押すと awk '{print

私が理解したところによれば、通常はawkファイルや出力に従います。

次に、そのファイルまたは出力のすべての行でコードを実行します。

私の場合、私のコマンドによるawk '{print "Hi, Judy"}'ファイルや出力はありませんでした。

私が理解したように、何も印刷されないか、エラーが発生するはずです。

しかし、なぜ実際にはインタラクティブなコマンドラインがポップアップし、押し続けると次のようなEnter内容が無限に表示されます。

Hi, Judy

Hi, Judy

Hi, Judy

このコマンドはなぜこのように動作しますか?

#この区切り線の下のコンテンツは無視する必要があります。


追加の質問:

別のコマンドを試しました。

awk ' BEGIN { print "Hi." }  { print "Buddy." } { print "Bye." } '

無限に印刷されると予想されますHi. Buddy. Bye.

しかし、私は次のようになります。

Hi.

Buddy
Bye.

Buddy
Bye.

Buddy
Bye.

これがまた私を混乱させる。END clause無限に働くことができますが、なぜBEGIN clauseここでは一度だけ働くことができますか?

ベストアンサー1

標準入力(キーボードなど)からデータを読み込みます。

これを試してみて、どういう意味かを確認してください

awk '{ print "Here is your line:", $0 }'

おすすめ記事