请教一个删除文件的shell

AIX 系统。
某个固定目录下有类似如下的目录:
20110203
20110204
20110205
20110301
20110302
20110303
20110304
20110305
abc
def
Others

即除了6位日期格式的文件夹还有其他任意字符的文件夹,这些文件夹都含有子文件夹。
现在我需要一个shell文件,输入两个参数,一个日期(六位和上面格式一样),一个保留天数数字(如:5)
要求删除这个日期保留天数以前的日期文件夹,例如:
输入20110305,3  则删除:20110203,20110204,20110205,20110301,20110302
即保留:
20110303
20110304
20110305
和其他非日期格式的文件夹。

多谢!

作者: lynx286   发布时间: 2011-06-02

AIX系统不懂,顶一下

作者: zhaoke0128   发布时间: 2011-06-02

本帖最后由 regansong 于 2011-06-02 23:13 编辑
  1. #! /bin/sh
  2. ls -lrt |awk '($1 ~/d.*$/ && $9 ~ /[0-9]{6}/) {print $9}'|awk -v now=$1 -v day=$2 'BEGIN{deleteDay = now - day} ($1 <= deleteDay) {print $1}'|xargs -ti rm -rf {}
复制代码
试一下这个能不能用.

作者: regansong   发布时间: 2011-06-02