Linux

清除舊文件夾而不找到

  • April 11, 2022

在這裡,我試圖刪除比 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

算法中可能出現的錯誤:

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="/$CY/$last_month/$lmdate"

cat $dir_to_check | while read output
do
       find ${output}${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而不是返回值$?

引用自:https://unix.stackexchange.com/questions/698710