Date: Mon, 5 Mar 2007 16:58:20 -0800 From: Gary Kline <kline@tao.thought.org> To: Chuck Swiger <cswiger@mac.com> Cc: Gary Kline <kline@tao.thought.org>, FreeBSD Mailing List <freebsd-questions@FreeBSD.ORG> Subject: Re: awk question Message-ID: <20070306005820.GC12600@thought.org> In-Reply-To: <880C4678-6B40-44C7-A643-4F2FD9F35DBC@mac.com> References: <20070306003506.GA12553@thought.org> <880C4678-6B40-44C7-A643-4F2FD9F35DBC@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 05, 2007 at 04:46:35PM -0800, Chuck Swiger wrote:
> On Mar 5, 2007, at 4:35 PM, Gary Kline wrote:
> > Having found $9 , how do I /bin/rm it (using system()--yes??)
> > in an awk one-liner?
>
> I gather that you are looking under /var/db/pkg...?
>
> >I'm trying to remove from packages from long ago and find and
> > print them with
> >
> > ls -lt | awk '{if ($8 == 2006) print $9}';
> >
> > but what I want to remove the file pointed at by $9. I've tried
> > FILE=ARGV[9]; and using FILE within my system() call, but no-joy.
> > What's the magic here?
>
> You could pipe the output of awk through "| xargs rm -rf"...but be
> careful.
> Putting it through "pkg_delete (-f)" might be safer.
>
Bill and Chuck:
These are a slew of packages from 2006. (Obv'ly in
/usr/ports/packages. I plumb fergot about xargs (again);
just rarely use it.
ls -lt | awk Foo catches those that are almost certainly invalid,
from '06) but the find -mtime [days] is another way. Like they
say about perl, there's always more than one way... When you've
got Unix, you've got power at your fingertips.
thanks, gents,
gary
> --
> -Chuck
>
--
Gary Kline kline@thought.org www.thought.org Public Service Unix
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070306005820.GC12600>
