From owner-freebsd-hackers Tue Oct 19 11: 5:24 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from ppp142132.asahi-net.or.jp (ppp142132.asahi-net.or.jp [202.213.142.132]) by hub.freebsd.org (Postfix) with ESMTP id 3824217844 for ; Tue, 19 Oct 1999 11:05:18 -0700 (PDT) (envelope-from tfuruya@ppp142132.asahi-net.or.jp) Received: from localhost (localhost.tf.or.jp [127.0.0.1]) by galois.tf.or.jp (8.9.3/3.7W-Teddy-99050304) with ESMTP id CAA01983; Wed, 20 Oct 1999 02:55:04 +0900 (JST) To: freebsd-hackers@freebsd.org Subject: Re: Search a symbol in the source tree From: Tetsuro Teddy FURUYA (=?iso-2022-jp?B?GyRCOEVDKxsoQiAbJEJFL086GyhC?=) In-Reply-To: Your message of "Mon, 18 Oct 1999 00:39:44 +0900" <19991018003944T.tfuruya@galois.tf.or.jp> References: <19991018003944T.tfuruya@galois.tf.or.jp> X-Mailer: Mew version 1.93 on Emacs 19.28 / Mule 2.3 (SUETSUMUHANA) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <19991020025504I.tfuruya@galois.tf.or.jp> Date: Wed, 20 Oct 1999 02:55:04 +0900 X-Dispatcher: imput version 980905(IM100) Lines: 136 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Probably, my mail did not reach freebsd-hackers mailing list because of absense of inreply-to headers. So, I will resend. ------------------------------------------------------------ Return-Path: POPmail Delivery-Agent: @(#)$Id: local.c,v 1.54 1998/10/30 06:30:53 akira1 Exp $ on canberra Received: by j.asahi-net.or.jp (ATSON-1) ; 20 Oct 1999 01:14:43 +0900 Return-Path: Received: from ppp142140.asahi-net.or.jp (ppp142140.asahi-net.or.jp [202.213.142.140]) by tiga.asahi-net.or.jp (8.8.8/3.7W) with ESMTP id BAA22992 for ; Wed, 20 Oct 1999 01:11:18 +0900 (JST) 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: n@nectar.com, zzhang@cs.binghamton.edu, freebsd-hackers@freebsd.org, nectar@nectar.com 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" 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 Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by tiga.asahi-net.or.jp id BAA22992 Thank you for your mail ! At last, the final resolution has arrived ! Your answer is very very elegant and splendid ! -----Original Message----- From : Brian Beattie Sender : Tetsuro Teddy FURUYA CC : n@nectar.com ; zzhang@cs.binghamton.edu ; freebsd-hackers@freebsd.org ; nectar@nectar.com =93=FA=8E=9E : 1999=94N10=8C=8E19=93=FA 1:51 Subject : 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 (=3D?iso-2022-jp?B?GyRCOEVDKxsoQiAbJEJFL086GyhC?=3D) 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 o= ne >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 g= et >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 re= ad 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/n= ull \; > /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