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} |