grepの-vオプションに相当する機能No.11501
yamachan さん 02/03/04 15:03
 
複数のファイルから"市役所"という言葉を抽出したいのですが、
"市役所総務課"という言葉は除外したいのです。

unixのgrepですと、
grep "市役所" | grep -v "市役所総務課"
となると思いますが、
秀丸のgrepで同様の抽出はできますでしょうか?

grep 市役所[^総][^務][^課]だと、
市役所庶務課まで除外されてしまいますよね。

何かよい方法をご教授ください。

[ ]
RE:11501 grepの-vオプションに相当する機No.11502
さん 02/03/04 15:40
 
yamachanさん今日は

文書末の"市役所[EOF]"だけは拾えないのですが、
  市役所([^総]+|総[^務]+|総務[^課]+)
とすればいけます。(終端指定がないので行単位ですが)

もし、市役所総務何チャラ、市役所総何チャラがないと仮定できるなら、
  市役所[^総]+
が、簡単でいいです。

[ ]
RE:11502 grepの-vオプションに相当する機No.11503
ひろ さん 02/03/04 23:43
 
 yamachan さん、小西さん今日は、ひろです。
>   市役所([^総]+|総[^務]+|総務[^課]+)
 実用レベルでは関係ないと思いますが、この指定だと、
http://www.maruo.co.jp/hidesoft/2/m020304.html#11501
> grep "市役所" | grep -v "市役所総務課"
がヒットしてしまいます(^^)。

 なお完全に v オプションに該当する機能はないので、実際にこの様な運
用をする場合は、最初に単純に grep 結果が出力されてから、置換で例外文
字列を含む行を削除すれば良いと思います。具体的には、検索文字列に
「^.+\): .*削除したい文字列.*\n」を指定し、置換文字列「」(空) を指定
すればよいです。

[ ]
RE:11502 grepの-vオプションに相当する機No.11504
きいろいまふらあ さん 02/03/04 23:52
 
ささいなことですが、どうせgrepなので

>  市役所([^総]+|総[^務]+|総務[^課]+)

市役所([^総]|総[^務]|総務[^課])

でいいんじゃないかなあと。
つまらん指摘ですみません。

[ ]
RE:11503 grepの-vオプションに相当する機No.11505
きいろいまふらあ さん 02/03/04 23:54
 
> 実用レベルでは関係ないと思いますが、この指定だと、
>http://www.maruo.co.jp/hidesoft/2/m020304.html#11501
>> grep "市役所" | grep -v "市役所総務課"
>がヒットしてしまいます(^^)。

ヒットしないとまずいのでは?

[ ]
RE:11505 grepの-vオプションに相当する機No.11506
きいろいまふらあ さん 02/03/05 00:07
 
>>> grep "市役所" | grep -v "市役所総務課"
>>がヒットしてしまいます(^^)。
>
>ヒットしないとまずいのでは?

失礼、まちがえました。
ヒットしちゃいかんですね。

[ ]