■
↓みたいなシェルスクリプトを1行でやれると教えていただきました。
#!/bin/bash tday=`date -d "2 month ago" +%Y%m%d` Dir="/export/nfs_index/" ls -1 $Dir | grep "accesslog_*" | while read aclog do echo $aclog aclog=`echo "$aclog" | cut -d " " -f14` aclog=$Dir$aclog echo $aclog ls $aclog|while read list do # IF1:もし、ファイル名に「数字x8」が含まれている場合、 if [[ $list =~ [0-9]{12} ]] then fday=`echo "$list" | cut -c5-12` # $listから、「yyyymmdd」を取り出しepoch時間($fday)にする # IF2:もし、ファイル名から取得した「yyyymmdd」が # 本日の「yyyymmdd」よりも小さい場合 if [ $fday -lt $tday ] then # echo する echo $list `rm -R "$aclog"/"$list"` fi #if [ "$fday" -lt "$tday" ] fi #if [[ $list =~ [0-9]{12} ]] done #ls $Dir|while read list done #ls -al $Dir | grep "accesslog_*" | while read aclog
↓1行
find /export/nfs_index/accesslog_1 -mtime +100 -type d | xargs rm -rf
↓もしくはこんな感じ。
find /export/nfs_index/accesslog_1 -mtime +100 -type d -exec rm -rf {} \;
やる前に↓で確認シテネ。
find /export/nfs_index/accesslog_1 -mtime +100 -type d | xargs echo
凄いねぇ…