1

私はスクリプトに関するチュートリアルを読んでいて、awkこの奇妙な動作を観察しました。実行中にこの awk スクリプトが、whileまたはのようなループ構造がなくても繰り返し番号を要求する理由for. CTRL+D(EOF)を入力すると、別の番号の入力を求めるプロンプトが表示されなくなります。

#!/bin/awk -f
BEGIN {
    print "type a number";
}
{
    print "The square of ", $1, " is ", $1*$1;
    print "type another number";
}
END {
    print "Done"
}

上記のawkスクリプトのこの動作を説明してください

4

3 に答える 3

0

これを試して、0 を入力して終了します

BEGIN {
    print "type a number";
}
{
    if($1==0)
       exit;
    print "The square of ", $1, " is ", $1*$1;
    print "type another number";
}
END {
    print "Done"
}
于 2013-07-04T06:43:19.743 に答える
0

有名なAWK プログラミング言語から:

コマンド ラインで awk スクリプトに入力ファイルを指定しない場合、awk は、ファイル終了シグナル (Unix システムでは control-d) を入力するまで、端末で次に入力するものにプログラムを適用します。

于 2013-07-04T06:43:51.597 に答える