[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bash script question

Hash: SHA1

On 12/07/06 15:12, Almut Behrens wrote:
> On Thu, Dec 07, 2006 at 12:16:54PM -0600, Nate Bargmann wrote:
>> I have a directory of files that are created daily using 
>> filename-`date +%Y%m%d`.tar.gz so I have a directory with files whose
>> names advance from filename-20061201.tar.gz to filename-20061202.tar.gz
>> to filename-20061203.tar.gz and so on.  Based on the date in the
>> filename, I would like to delete any than are X days older than today's
>> date.  So, I'm not interested in the actual created/modified date, just
>> the numeric string in the name.
> ... what, no Perl one-liner yet?? :)
> So, here it is, the line noise version that should do the job:
> $ perl -MTime::Local -e 'unlink grep {/-(\d{4})(\d\d)(\d\d)/; timelocal(0,0,0,$3,$2-1,$1)<time-864000} glob "*.tar.gz"'
> This would delete all of your .tar.gz files older than 10 days (or
> 864000 secs), in the current directory.

OP specifically noted:
    I'm not interested in the actual created/modified date

- --
Ron Johnson, Jr.
Jefferson LA  USA

Is "common sense" really valid?
For example, it is "common sense" to white-power racists that
whites are superior to blacks, and that those with brown skins
are mud people.
However, that "common sense" is obviously wrong.
Version: GnuPG v1.4.5 (GNU/Linux)


Reply to: