awk question
Gary Kline
kline at tao.thought.org
Tue Mar 6 00:58:22 UTC 2007
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 at thought.org www.thought.org Public Service Unix
More information about the freebsd-questions
mailing list