68user's page 掲示板

Prev< No. 4998> Next  [最新発言に戻る] [過去ログ一覧]
No. 4998 # ふくし 2009/04/22 (水) 22:39:27
nawkのユーザ定義関数について教えて下さい。

nawkで、ユーザ定義関数を呼び出して編集を行っているのですが、
ユーザ定義関数内で編集した値を、パラメータで渡した変数に設定
して返却したいのでが値が返却されません。
ユーザ定義関数内では、渡した変数に値が設定されているのですが、
関数を抜けると値が設定されていません。
どうしてなのでしょうか。
それとも、無理なのでしょうか。
パラメータで渡した変数に設定して返すことができるのでしょうか。

環境
    OS:Solairs8
    シェル:Bシェル(sh)

--------------------------------------------------------------
nawk -v OUT=${OutFile} -F"," '
        BEGIN {
                count = 0+0;
        }
        function chk2(arg1,arg2,val) {
                sub(/^"*/,"",arg1); sub(/"*$/,"",arg1);
                sub(/^"*/,"",arg2); sub(/"*$/,"",arg2);
                val=sprintf("%s %s",arg1,arg2);
        }
        function chk1(arg1,val) {
                sub(/^"*/,"",arg1); sub(/"*$/,"",arg1); val=arg1;
        }
        {
                chk1($1,UserID);
                chk2($8,$9,Name);

                printf("%s,%s\n",UserID,Name);
                #printf("%s,%s\n",UserID,Name) >> OUT;
                count++;
        }
        END {
                printf("Output number : %d\n",count);
}' ${FILE}

Prev< No. 4998> Next  [最新発言に戻る] [過去ログ一覧]