- ベストアンサー
gawkの使い方
- Windows7 32bitパソコンのCADで使っているマクロプログラムが64bitでは動作しない問題について
- jgawkは16bitのため64bitでは使えないので、gawkに書き換える必要があります
- 具体的な修正方法が分からず困っているので、教えていただけると助かります
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> jgwakをgawkに変更しましたが、動きませんでした。 gawk.exeを置いたディレクトリは正しいですか? 上記のスクリプトだと 実行ディレクトリ(macroとかある階層) のbinの下を指定しているようですが C:\Program Files (x86)\GnuWin32\binに置いだけとか? とりあえず、問題を絞り込むために、コマンドプロンプトを使って 実行ディレクトリで bin\gawk ''{ printf "%9s%2s%32s%15s%5s%45s%2s\n",$1,$2,$3,$4,$5,$6,$7}'' C:/Temp/data2>C:/Temp/data が動くか確認してみてはどうでしょう。
その他の回答 (3)
- superside0
- ベストアンサー率64% (461/711)
> “gawk.exe”を指定フォルダに置きましたが動きませんでした。 jgawk.exeのかわりにgawk.exeを使うのなら > run (c_dir+'bin/jgawk ''{ printf "%9s%2s%32s%15s%5s%45s%2s\n",$1,$2,$3,$4,$5,$6,$7}'' C:/Temp/data2> C:/Temp/data') のjgwakも gawkに変更しないと、コールできないと思いますが、そこは 修正済ですか?
補足
jgwakをgawkに変更しましたが、動きませんでした。
- nan93850673
- ベストアンサー率32% (179/553)
gawkは、所謂Unix系OSで使われているawkというスクリプト言語のGNU版です。 質問に書かれているスクリプト(?)ですが、どう見てもawkの文法に合わず、全くの別物と思います。 名前が似ているからと勘違いされる事も有るようですが、 http://okwave.jp/qa/q9001988.html jgawkのスクリプトを修正すればgawkで動くという話は間違いと思います。
- notnot
- ベストアンサー率47% (4900/10358)
''{ printf "%9s%2s%32s%15s%5s%45s%2s\n",$1,$2,$3,$4,$5,$6,$7}'' この程度の処理であれば、awkの違いによる差は無いので、原因はそれ以外の部分にあります。 ほとんど情報が無いので、これ以上は何とも言えません。
お礼
説明不足ですみませんでした。 実行ディレクトリ(macroとかある階層) のbinの下にgawk.exeをおいております。 また本日やり直したところプログラムは動いていました。(エラーで止まりません。)しかしC:/Temp内に作られるdataファイルには何も書き出せてはいないようです。 質問で記載したプログラムの抜粋では分かりづらいので、一旦この質問を締切として再度質問投稿させていただきます。