From owner-freebsd-questions Thu Dec 27 14:23:23 2001 Delivered-To: freebsd-questions@freebsd.org Received: from shumai.marcuscom.com (rdu57-28-046.nc.rr.com [66.57.28.46]) by hub.freebsd.org (Postfix) with ESMTP id 155FC37B405 for ; Thu, 27 Dec 2001 14:23:20 -0800 (PST) Received: from localhost (marcus@localhost) by shumai.marcuscom.com (8.11.6/8.11.6) with ESMTP id fBRMNX814142; Thu, 27 Dec 2001 17:23:34 -0500 (EST) (envelope-from marcus@marcuscom.com) X-Authentication-Warning: shumai.marcuscom.com: marcus owned process doing -bs Date: Thu, 27 Dec 2001 17:23:33 -0500 (EST) From: Joe Clarke To: Drew Tomlinson Cc: questions@FreeBSD.ORG Subject: Re: How To Recursively Search Directory For Text String In Files? In-Reply-To: <011701c18f24$951d3b00$c42a6ba5@lc.ca.gov> Message-ID: <20011227172121.Q11529-100000@shumai.marcuscom.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, 27 Dec 2001, Drew Tomlinson wrote: > OK, I am beginning to understand the power of FBSD and am sure this is > possible. I just don't know how to do it. What I want to do is search > all files in my current directory and all the directories below it for a > text string and then know what file(s) contains the string. I > understand that grep will do the search but my knowledge is limited to > "cat file.txt | grep string". How can I construct a command in tcsh to > feed each file to cat and then feed it to grep *AND* know the name of > the file grep found the match? Do I have the right concept? Is there a > better way to accomplish my goal? > You can do grep -r *, but I prefer: find -type f -name | xargs grep For example: find /usr/ports -type f -name Makefile | xargs grep -i snmp This would search all Makefiles found anywhere in the /usr/ports tree and grep case-insensitvely through them for the pattern "snmp". Joe > Thanks, > > Drew > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-questions" in the body of the message > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message