• ベストアンサー

awk内で使用した変数をシェルに反映

awk内で使用した変数をシェル変数に代入する事は可能でしょうか? system関数を使ってexportなどをしてみましたが、だめでした。 イメージ的には以下のような感じです。 #!/usr/ksh HOGE=1 echo $HOGE | awk '{ HOGE=2 }' echo $HOGE ←※ここでHOGEの内容が2になるようにしたい。 お手数ですが、お分かりになる方お助けお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

awk側でHOGE=2とか表示して、呼び出したksh側でstdinで渡された代入文などを実行すれば良いのでは。 constset="`echo $HOGE | awk xxxxx`" eval $constset echo $contset HOGE=3;HOGEB=6;HOGEZ=999

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

方法はなくもないと思うけど.... とりあえず, 例えば 「system関数を使ってexportなどをしてみましたが、だめでした。」 の理由はわかりますか?

kazuau2002
質問者

補足

おそらくsystem関数のプロセス以降生成される 子プロセスが反映される対象でカレントには反映 されとないからかと考えてます

関連するQ&A

専門家に質問してみよう