在这里,我试图删除比 xdays 更早的旧文件夹。这些磁盘的路径在 file_path.txt 中提到
我在这里需要的是搜索提到的文件中可用的每个路径并删除那些可用的文件。
以下是我迄今为止尝试过的,但没有奏效。
dir_to_check='file_path.txt'
CY=`date +"%Y"`
last_month=`date '+%B' --date '1 month ago'`
lmdate=`date '+%d' --date='32 days ago'`
cmd="$dir_to_check/$CY/$last_month/$lmdate"
cat file_path.txt | while read output
do
find $cmd -type d -ctime +30
if [ $? -eq 0 ]; then
echo "Directory exists and can be deleted"
echo "rm dir"
else
echo "FAIL to delete directory as its not exists"
fi
done
算法中可能出现的错误:
考虑使用实用程序中的
-exec
选项find
而不是返回值$?
。