首页 > 解决方案 > 如何根据修改时间戳删除 AIX 上的文件和文件夹?

问题描述

我不得不就在 AIX 上运行的脚本向您寻求帮助。我想删除指定路径上具有某些名称规则的文件和文件夹。

例如,在 path 下/usr/upself/test,我有 3 个文件名:

abc.txt  (modified 8 days ago)
abd.txt  (modified 2 days ago)
abcd.txt (modified 2 days ago)

并且还有 2 个名称为的文件夹:

abcx     (modified 9 days ago)
abc      (modified 2 days ago)

当脚本运行时,它将删除名称为 contains 的文件和文件夹,这些文件和文件夹在abc7 天前被修改。

我曾经在 Linux 上运行如下脚本,并且运行良好:

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
filepath="/usr/upself/test"
cd $filepath

for file in `ls | grep -i abc`
do
 mtime=`stat -c %Y "$filepath$file"`
 curtime=`date +%s`
 gap=$curtime-$mtime

 if [ $[$gap] -gt 604800 ]
 then
  if [ -d $file ]
  then
      rm -r "$file"
  fi
  if [ -f $file ]
  then
      rm -r "$file"
  fi
 fi
done
IFS=$SAVEIFS

但不幸的是,我需要在 AIX 上运行它,然后我们有一个问题,在 AIX 上,我们没有 command stat,它正在停止脚本以获取文件和文件夹的修改时间戳。

谁能帮助指出我需要如何更改脚本以使其像以前一样工作?

标签: shelltimestampaix

解决方案


推荐阅读