純ドスというか、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バ
イト文字の判定の話かな? 分かってないんだな、あれも…。
文太