Linux
清除舊文件夾而不找到
在這裡,我試圖刪除比 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
而不是返回值$?
。