From owner-freebsd-questions@FreeBSD.ORG Mon May 19 10:02:11 2008 Return-Path: Delivered-To: questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA1DE1065672 for ; Mon, 19 May 2008 10:02:11 +0000 (UTC) (envelope-from jonc@chen.org.nz) Received: from chen.org.nz (chen.org.nz [202.89.146.5]) by mx1.freebsd.org (Postfix) with ESMTP id 25E318FC25 for ; Mon, 19 May 2008 10:02:11 +0000 (UTC) (envelope-from jonc@chen.org.nz) Received: by chen.org.nz (Postfix, from userid 1000) id 9230828424; Mon, 19 May 2008 21:46:03 +1200 (NZST) Date: Mon, 19 May 2008 21:46:03 +1200 From: Jonathan Chen To: Garrett Cooper Message-ID: <20080519094603.GC12033@osiris.chen.org.nz> References: <7d6fde3d0805190149y7a3bfa75j2ca6a67cef66e8f6@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7d6fde3d0805190149y7a3bfa75j2ca6a67cef66e8f6@mail.gmail.com> User-Agent: Mutt/1.4.2.3i Cc: questions@freebsd.org Subject: Re: Now what would you expect this to print out? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 May 2008 10:02:11 -0000 On Mon, May 19, 2008 at 01:49:35AM -0700, Garrett Cooper wrote: > Riddle for the day for folks that have source trees... what would you expect > this to print out (ask yourself the question and then execute the command)? > > find /usr/src -name Makefile -or -name '*.mk' -print > > The expected output and what actual output differed in my mind, but maybe > somebody else can "shed some light" on the logic behind what happened It's a problem that catches many young players with find(1). One has to remember from reading the man-page that all directives have an implicit AND operator on it; and that includes the "-print" directive. So to get what you want, you have to introduce brackets: find /usr/src \( -name Makefile -or -name '*.mk' \) -print Cheers. -- Jonathan Chen ---------------------------------------------------------------------- If you're right 90% of the time, why quibble about the remaining 3%?