作者: Bunta
日時: 2004/11/18(23:17)
 純ドスというか、16ビットの件、了解です。

 >ねこ丸さん、WILLsさん(どうも、どうもお呼び立てしてしまったようで)
お知恵を拝借し、仕組みの説明までいただいて。m(__)m

 >Bruce.さん、調子ものすごくいいみたいですよ。完璧です。
 以下、全てパスしてます。

mbsed s/\w/wordchar/g           ;日本語もOK(分かち書きならね)
mbsed s/\S/非スペース/g         ;OK
mbsed s/\s/スペース/g           ;全角スペースもOK!
mbsed s/space/\s/g              ;通さないのが正しい。結果は、s。
                                ;dark corner. OK.

#n
/^か/,+5p                       ;ちゃんと行く。いいですね。

mbsed -n /あ\{4,5\}/p		;一瞬焦りましたが、いいんだ。
mbsed -n /うあ\{4,5\}い/p	;OK!

 じつは、 この回数(範囲)指定が、Dosで使える sed では、どれにもなく
て、それで頭を抱えているところがあります。(別の話ですが。)

 あっちのスレッド(っていっていいのかしら?)への感謝レスが遅れておりま
すが、いちおう、ここで。環境変数参照は、SEDFILE で、logos 版でなく serow
版(r、1つでした。m(__)m)からです。logos 版は serow 版から拡張してます
ので。で、これは正統でないかもしれないのですが、SEDFILEはあるといいんじゃ
ないかなぁ、と思うのですが…。


 (別メール、別発言? にしようかと思ったのですが、分からなくはならない
だろうと、続けてしまいます。)


 とりわけ Bruce. さんあて、というわけではない妙な質問なのですが。

 PCREってのの意味がソースを見たら分かったりして、
/*************************************************
*       Perl-Compatible Regular Expressions      *
*************************************************/
 (ですね)

 けっこう嬉しがったりしてるのですが。(Cも何も知りませんm(__)m
 コメントで書かれていることのみが、分からないことが分かるようになるため
の唯一の手がかり。これでVzのアセンブラソースを眺めたりする…。)

 ssed のソースには、testsuites という、たぶん、きちんとした動作を確認す
るためのデータやスクリプトが入ってます。(GNU のにも入ってるんでしょうね、
きっと。)たとえば、以下のようなもの、3種。

 (大文字はファイル名)
0RANGE.SED
0,/aaa/d

0RANGE.GOOD
yes

0RANGE.INP
1
2
3
4
aaa
yes

 レンジ指定で、 0が入れられるのと入れられないではえらい違いだ、というの
は分かっているつもりなのですが(これができないと、最初の行を2回評価する
とかの裏技に訴えないと予期してる結果を得られなかったりする)、質問は、ず
ばり、INPの意味です。

 僕が理解しているところでは、

>mbsed -f orange.sed orange.good

 とすると、
yes
 のところまでdが効いてしまうので、何も出力されない。 よって、good。(一
般に気をつけたほうがいいよ、という指定の仕方)

>mbsed -f orange.sed orange.inp

 とすると、
yes
 の前までdが効くので、yesが出力される。

 テスト終了!  バグなし! と喜ぶためのセットだと思うのですが、inpって
何の省略だか分かる方、いらっしゃいますか? 因みに、oragne(みかん?)の
意味も分かってません。これは、きっと何かローカルなジョークが入ってるので
はないかと想像して、考えても無駄、と思っているのですが。

 もう舞い上がってるものですから、testsuitesのスクリプトをみんな試したい
欲望にかられてしまっているのですが? おいしいところを勉強しようかな、な
んて。柿本人麻呂とか出てくるんですよ。8ビットって、何の話だろう? 2バ
イト文字の判定の話かな? 分かってないんだな、あれも…。

                             文太