[xyzzy:08660] Re: grepでアンド検索
- Subject: [xyzzy:08660] Re: grepでアンド検索
- From: "Seiya Suda" <seiya.suda@xxxxxxxxx>
- X-mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
上山さん、
こんにちは。
何が問題なのかいまいち不明ですが、
and検索というと、A and B で、AとBを検索することですよね?
すると、単語なら first と second のそれぞれ前後に
空白を入れるということですか?
こんな簡単なことではない?
結果は*compilation*に出てきますよね。
------------------
須田誠也(Seiya Suda)
seiya.suda@xxxxxxxxx
http://member.nifty.ne.jp/seiya-suda/
> -----Original Message-----
> From: TERU.kami [mailto:NCA03015@xxxxxxxxxxx]
> Sent: Monday, February 17, 2003 8:38 PM
> To: xyzzy@xxxxxxxxxxxx
> Subject: [xyzzy:08659] grepでアンド検索
>
>
> 上山と申します。
>
> いつもxyzzy並びに皆様にはお世話になっております。
>
> さて
> xyzzyのgrepがあまりにも速いのでわざわざデータベースソフトに載せるまでも
> なく引くだけ確認するだけでしたら、そのままテキストをデータベースにしよう
> と
>
> (defun dgrep (first second)
> "grepでアンド検索"
> (interactive "sFirst: \nsSecond: ")
> (grep (concat "\\(" first ".+" second "\\)" "\\|" "\\("second
> ".+" first "\\)" ) 4))
>
> を作ったのですが、なんかいまいちです(^_^;)
>
> perlでいえば
> while(<>){
> print if /first/ && /second/;
> }
>
> みたいなことができればよいのですが、書き込み禁止にしていると
> filter-bufferがだめなので(結果を違うbufferに書き出すことはできるのです
> か?)、作ってみました。
>
> これでも2万件ぐらいなら、grepがとても速いので十分なのですが。
>
> お知恵を拝借したいと存じます。
> よろしくお願い申し上げます。
>
> -----------------------------------------------------------------------
> 上山誉晃(Yoshiteru Kamiyama ) E-mail: NCA03015@xxxxxxxxxxx
> -----------------------------------------------------------------------
>
>