Мне нужно обратиться за помощью к вам со сценарием, работающим в AIX. Я хочу удалить файлы и папки с некоторыми правилами имен по указанному пути.
Например, под путем /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)
при запуске скрипта будут удалены файлы и папки с именем, содержащим abc
, которое было изменено 7 дней назад.
Раньше я запускал скрипт в 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 у нас нет команды stat
, и он останавливает сценарий, чтобы получить метку времени изменения файлов и папок.
Может кто-нибудь помочь указать, как мне нужно изменить скрипт, чтобы он работал как раньше?