作者: Bunta
日時: 2006/11/14(21:09)
Bruce.さん

 以下の部分の謎は解けました。

 ただ、基本的な重要問題が気持ち悪く胸に残っています。sed はパターンスペ
ースに一行取得するときに改行をとる。N などの複行パターンスペースを作ると
きには、改行を前の行の末尾に付加して次行を取得する。このようなサイクルの
理解は間違っていますでしょうか。



>C:\>Onigsed -n -R "/\n/p" test.txt
> 半角
>	タブ
> 全角
>aaa
> ※がーん。パターンスペースに入るときに改行が取られることはないのか?!
>
>C:\>Ssed -n -R "/\n/p" test.txt
>
> ※出力ゼロ。こっちが正しいことを祈る…。


C:\>Type test.txt
 半角
	タブ
 全角
aaa

C:\>Type test.sed		;/\n/pのようにアドレス部には
s/\s/\n/gp			;入れないんだ、と気がつき。

C:\>Onigsed -n -R -f test.sed test.txt

半角

タブ

C:\>Ssed -n -R -f test.sed test.txt

半角

タブ

  ※OKです!

  ※では、s/LHS/RHS/の/LHS/では? ---- これは余興 ----
            Left Hand side String, Right Hand ditto.

C:\>Type test.sed
s/\n/__/gp

C:\>Onigsed -n -R -f test.sed test.txt
__ __農_シ__垣_p__
__	__ダ_^__ダ_u__
__\_@__狙_S__垣_p__

  ※何かいけないことしたみたい。確か、/RHS/だけだったな、\nは。

文太