作者: Bunta
日時: 2004/12/28(01:04)
Bruce.さん

 年末のお忙しいところ、すいません。また、実験の報告が遅くなってしまって
申し訳ないのですが、onigsed の挙動が読めないのです…。

 僕が想像しているところでは、
>onigsed --help
>mbsed --help
 の違いから、

-r     ERE
-R     Perl-like (oniguruma)

 になるつもりで試そうとしています。

 なのですが、

>onigsed -n -r "/(apple)/p"   #(1) EREを試すつもり
>onigsed -n -R "/(apple)/p"   #(2) Perl-likeを試すつもり
>onigsed -n -R "/\d/p"        #(3) Perl-likeを試すつもり

 が想定される結果を出してくれないのです。

 僕が想定している結果(手書きですが実験の結果と同じはずです)というのは、

(1)
>onigsed -n -r "/(apple)/p"
app                     #input -> no response
apple                   #input
apple                   #output

(2)
>onigsed -n -R "/(apple)/p"
app                     #input -> no response
apple                   #input
apple                   #output

(3)
>onigsed -n -R "/\d/p"
a                       #input -> no response
1                       #input
1                       #output

 グループ化の () は、あまり意味のある使い方ではありませんが、BRE の \(\)
と対照させたつもりです。
 (2)(3) とも、無反応なのです。no response です。

 僕は、何か致命的に間違っていますでしょうか。

 あう、もしかして、と思って以下を試してみました。

>onigsed -n "/\(apple\)/p"
app
apple
apple

>onigsed -n "/\d/p"
a
1

 -r, -Rが効いていないようなのですが、何とかなりますでしょうか。

 僕がトンチンカンであったら、どうかお許しください。ずうずうしいにですが、
トンチンカンな点をお教え頂ければ、幸いです。

                            文太