こんにちは、山本です。
"HFC01730@... (水羽信男)"さんは書きました:
> どこへアップすればよいのか悩んだのですが、
> 一応、ここへ書き込みます。
下記の問題はTcl/Tkのバグが原因ですので、
TStcltkへの投稿で正解です。
> Bruce.版のgawkをtkon上で使うと次のようなエ
> ラーメッセージが出ます。windows2000のコマン
> ドライン上では問題ないので、わざわざ「こと
> あげ」することもないかと思ったのですが、一
> 応、ご報告しておきます。
>
> % gawk --ctype=UTF8 "{gsub(/[ ]+/, \"-\");\
> print}" keguan_py.txt
> gawk: cmd. line:1: \{gsub(/+/, "-");print}
> gawk: cmd. line:1: ^ backslash not last cha\
> racter on line
>
> * 実際は【\】で改行になっている訳ではありませ
> ん。
Tcl/Tkのバージョン8.4.6で、次のようなバグ修正が行われています。
2004-02-25 (bug fix)[554068] stopped broken [exec] quoting of {
この修正はTclのexecコマンドに関するものですが、wishなどで
gawkコマンドを上記のように実行するときはexecコマンド経由で
実行されますから、このバグが原因になっていると思います。
幸い、私の手元に8.4.3と8.4.6がインストールされているPCが
ありましたので、それぞれに以下のようなコマンドを実行して
みました。
cmd /c echo "{aaa} {bbb}"
8.4.3では "\{aaa} \{bbb}" という結果になりますが、
8.4.6では "{aaa} {bbb}" という結果になりました。
以上から、Tcl/Tk8.4.6をインストールすれば、
{記号の前におかしな\記号が付くことは無くなります。
--
Koichi Yamamoto,
http://homepage3.nifty.com/yamakox/