Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Apr 2007 12:19:42 -0700
From:      Gary Kline <kline@tao.thought.org>
To:        Derek Ragona <derek@computinginnovations.com>
Cc:        Gary Kline <kline@tao.thought.org>, FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: first of misc questions....
Message-ID:  <20070425191942.GB70940@thought.org>
In-Reply-To: <6.0.0.22.2.20070425061655.0264d980@mail.computinginnovations.com>
References:  <20070425072914.GA65634@thought.org> <6.0.0.22.2.20070425061655.0264d980@mail.computinginnovations.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Apr 25, 2007 at 06:21:52AM -0500, Derek Ragona wrote:
> At 02:29 AM 4/25/2007, Gary Kline wrote:
> >        Guys,
> >
> >        This is an awk-type question.  Hopefully a one-liner.  If I
> >        need to use #!/usr/bin/awk and a BEGIN/END (or whatever it is),
> >        that's okay...
> >
> >        I want to do an ls -l in a  /home/kline/<directory> and find and
> >        edit files that are dated (let's say) Apr 19 or Mar 26.  This
> >        works to print $9 the filenames.
> >
> >        ls -l| awk '{if ($6 == "Apr" && $7 == 19  || $6 == "Mar" && $7
> >        == 26 ) print $9}'
> >
> >        What's the final part to get awk to vi $9?  Or another pipe and
> >        xargs and <what> "vi"?  Nothing simple works, so thanks for any
> >        clues!
> 
> I would use a simple approach incase you need to re-edit the list since 
> editing will change file times:
> ls -l| awk '{if ($6 == "Apr" && $7 == 19  || $6 == "Mar" && $7 == 26 ) 
> print $9}' > /tmp/myfilelist
> then you can:
> for i in `cat /tmp/myfilelist`;do vi $i;done
> 
> if you don't want to use a file, you can do in one shell loop too, but 
> again this will change your file modification times:
> for i in `ls -l| awk '{if ($6 == "Apr" && $7 == 19  || $6 == "Mar" && $7 == 
> 26 ) print $9}'`;do vi $i;done


	Yep; this is the simple kind of script I had in mind first but
	wasn't sure if/how it would work.  Your one-liner works 
	"as-advertized", but then as you note, the timestamp is
	changed!! (duh)...  So it does make more sense to put the list
	into a /tmp/<foo> file.  Save typing when I re-edit.

	thanks much, indeed,

	gary


> 
>         -Derek
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
> MailScanner thanks transtec Computers for their support.
> 

-- 
  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?20070425191942.GB70940>