From owner-freebsd-questions@FreeBSD.ORG Mon Jul 14 21:56:28 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 431A81065686 for ; Mon, 14 Jul 2008 21:56:28 +0000 (UTC) (envelope-from kline@thought.org) Received: from aristotle.thought.org (ns1.thought.org [209.180.213.210]) by mx1.freebsd.org (Postfix) with ESMTP id E0D018FC21 for ; Mon, 14 Jul 2008 21:56:27 +0000 (UTC) (envelope-from kline@thought.org) Received: from thought.org (tao.thought.org [10.47.0.250]) (authenticated bits=0) by aristotle.thought.org (8.14.2/8.14.2) with ESMTP id m6ELuX82071459; Mon, 14 Jul 2008 14:56:33 -0700 (PDT) (envelope-from kline@thought.org) Received: by thought.org (nbSMTP-1.00) for uid 1002 kline@thought.org; Mon, 14 Jul 2008 14:56:27 -0700 (PDT) Date: Mon, 14 Jul 2008 14:56:27 -0700 From: Gary Kline To: David Kelly Message-ID: <20080714215626.GA28814@thought.org> References: <20080714201241.GA22443@thought.org> <20080714210924.GA16869@Grumpy.DynDNS.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080714210924.GA16869@Grumpy.DynDNS.org> User-Agent: Mutt/1.4.2.3i X-Organization: Thought Unlimited. Public service Unix since 1986. X-Of_Interest: With 21++ years of service to the Unix community. X-Spam-Status: No, score=-4.4 required=3.6 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.2.3 X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on aristotle.thought.org Cc: FreeBSD Mailing List Subject: Re: why is this script failing? 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, 14 Jul 2008 21:56:28 -0000 On Mon, Jul 14, 2008 at 04:09:24PM -0500, David Kelly wrote: > On Mon, Jul 14, 2008 at 01:12:47PM -0700, Gary Kline wrote: > > > > why is this script not finding them? > > > > > > wav=/tmp/kde-kline/\*wav\* > > > > if [ -s $wav ] > > As others have pointed out because if "/tmp/kde-kline/file1.wav > /tmp/kde-kline/file2.wav" is found the -s will fail because $wav isn't a > single file. Or it could be that your escaped wildcards are staying > escaped. > > I use something like this to move files out of a Maildir: > > #!/bin/sh > for i in /tmp/kde-kline/*wav > do > # if nothing or nonsense was found then $i won't exist > if [ -e $i ] > then > echo "Found " $i > /bin/rm $i > fi > done You're right of course, and for the most bothersome hundreds of wav and log files this works: log=/tmp/kde-kline/\*log; wav=/tmp/kde-kline/\*wav\*; for f in $wav do if [ -e $f ] then ###echo "Wav files found"; ls -l $f; /bin/rm ${f}; fi done for f in $log do if [ -e $f ] then ###echo "log files found"; ls -l $f; /bin/rm ${f}; fi done But as you point out, the followingisthat much more effective. or at least lesss typing. > > But why do it the hard way? > > #!/bin/sh > /bin/rm /tmp/kde-kline/*wav > /dev/null 2>&1 with this, > > /bin/rm /tmp/kde-kline/*log > /dev/null 2>&1 thanks much:-) gary > -- > David Kelly N4HHE, dkelly@HiWAAY.net > ======================================================================== > Whom computers would destroy, they must first drive mad. -- Gary Kline kline@thought.org www.thought.org Public Service Unix http://jottings.thought.org http://transfinite.thought.org