From owner-freebsd-hackers Tue Oct 19 9:16:47 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from ppp142140.asahi-net.or.jp (ppp142140.asahi-net.or.jp [202.213.142.140]) by hub.freebsd.org (Postfix) with ESMTP id C01981760B for ; Tue, 19 Oct 1999 09:16:30 -0700 (PDT) (envelope-from tfuruya@ppp142140.asahi-net.or.jp) Received: from dilemma (tf051005.tf.or.jp [192.168.51.5]) by galois.tf.or.jp (8.9.3/3.7W-Teddy-99050304) with SMTP id AAA28922; Wed, 20 Oct 1999 00:18:03 +0900 (JST) Message-ID: <000201bf1a45$7952d340$0533a8c0@dilemma.tf.or.jp> From: "Teddy" To: "Brian Beattie" Cc: , , , Subject: RE: Search a symbol in the source tree Date: Wed, 20 Oct 1999 00:13:58 +0900 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.3110.5 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Thank you for your mail ! At last, the final resolution has arrived ! Your answer is very very elegant and splendid ! -----Original Message----- 差出人 : Brian Beattie 宛先 : Tetsuro Teddy FURUYA CC : n@nectar.com ; zzhang@cs.binghamton.edu ; freebsd-hackers@freebsd.org ; nectar@nectar.com 日時 : 1999年10月19日 1:51 件名 : Re: Search a symbol in the source tree >On Mon, 18 Oct 1999, Tetsuro Teddy FURUYA wrote: > >> From: Jacques Vidrine >> Subject: Re: Search a symbol in the source tree >> Date: Sun, 17 Oct 1999 11:37:11 -0500 >> n> On 18 October 1999 at 0:39, Tetsuro Teddy FURUYA (=?iso-2022-jp?B?GyRCOEVDKxsoQiAbJEJFL086GyhC?=) wrote: >> n> > It seems queer to me that there has been none who has refered to >> n> > find - exec >> n> > pairs. >> n> > >> n> > You may type into shell like; >> n> > $find . -name "*.c" -print -exec "egrep" "-i" "idt" {} \; | less >> n> > Here , "idt" is a search string. >> n> >> n> That's because no one wants a separate invocation of egrep for >> n> every file! >> ^^^^^^ >> Probably, except me ! >> >> But, what various and interesting methods to search symbols there are ! >> >> If we do not restrict the usage of search method, there might be >> yet another methods. > >I frequently use find - grep when looking at a novel source tree. The one >problem with the solution given is that if you are looking for a few >instances in hundreds of files, the hits can scroll off the screen and get >lost in the noise. My prefered approach is: >find . -name "*.[c]" -exec grep string {} /dev/null \; Your idea to make grep read the dummy file /dev/null as multiple files read is elegant and splendid ! Finally, find with -exec option outputs the same listing as grep with -R option and find - xargs pipeline. I have tried the bench mark test. #Script started on Tue Oct 19 23:00:15 1999 #sh-2.02$ time find /usr/src/sys -name "*" -and -exec grep "-ia" idt {} \; -print > /dev/null #real 1m14.920s #user 0m16.454s #sys 0m20.259s # #sh-2.02$ time find /usr/src/sys -name "*" -exec grep "-ia" idt {} /dev/null \; > /dev/null #real 1m16.742s #user 0m16.289s #sys 0m20.449s # #sh-2.02$ time find /usr/src/sys -name "*" | xargs grep "-ia" idt > /dev/null #real 0m44.862s #user 0m0.989s #sys 0m1.669s #sh-2.02$ exit #exit #Script done on Tue Oct 19 23:16:04 1999 From this result, xargs is faster as it is predicted. And the comsumed time to read /dev/null file is unexpectedly short. > >(the /dev/null forces grep to print the filename where a match is found, >and I am an old fogey, learned grep before [ef]grep too lazy to learn >better, should probably use fgrep) > >What I'd really like to see is a free implementation of cscope. > >Brian Beattie | The only problem with >beattie@aracnet.com | winning the rat race ... >www.aracnet.com/~beattie | in the end you're still a rat Teddy Furuya To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message