Bruce.さん
遅れました。申し訳ありません。また「ご教示」の語法についてもありがとう
ございました。完全に間違って記憶していました。教えて下さったこと、ほんと
うに感謝しています。
さて、コマンドライン解釈に問題がないこと、他の grep, sed(cgrep を除く)
がそもそも \s をつけ付けていないことなどを確認しました。混乱が混乱を呼ん
でおりました。
なのですが、修正版においても、以下が読み切れません。僕の理解がいけない
のだろうとも強く思っておりますが、もし以下でツールの動作自体がおかしい場
合と思われる場合には追試をお願いできますでしょうか。
もし動作におかしい点がなければ、僕のオペレーションかあるいは理解に関し
て、間違っている点をご教示願えないでしょうか。
C:\>Type test.txt
半角
タブ
全角
aaa
C:\>Yagrep -P "\s" test.txt
半角
タブ
全角
aaa
※改行にヒットしてるんだ。全部OK -oでも確認できた。
C:\>Onigsed -n -R -e"s/\s/_/gp" test.txt
_半角 OK
_タブ OK
※パターンスペースに入るときに改行が取られてるから?(1)
C:\>Ssed -n -R -e"s/\s/_/gp" test.txt (super sed)
_半角 OK
_タブ OK
※(1)の仮説は正しいのだろう。
C:\>Yagrep -P "\W" test.txt
半角 OK
タブ OK
全角 OK
aaa ? (改行にヒット? -oから、たぶんそうだ)(2)
C:\>Onigsed -R -n -e"s/\W/_/gp" test.txt
_半角 OK
_タブ OK
※どうして? 「aaa」は置換されなくてよい。しかし「 全角」は?(3)
グローバルなのだから、「半」も「角」もword character以外になるはず…。
C:\>Yagrep -P "\w" test.txt
半角 ?
タブ ?
全角 ?
aaa OK
※ここはやっぱり変だろう?(4)
C:\>Onigsed -n -R "/\w/p" test.txt
半角 ?
タブ ?
全角 ?
aaa OK
※なぜだ? どうやら文太の解釈が間違っているらしい(4)
C:\>Yagrep -P "\n" test.txt
半角
タブ
全角
aaa
※改行だね。
C:\>Onigsed -n -R "/\n/p" test.txt
半角
タブ
全角
aaa
※がーん。パターンスペースに入るときに改行が取られることはないのか?!
C:\>Ssed -n -R "/\n/p" test.txt
※出力ゼロ。こっちが正しいことを祈る…。
文太