我想从目录中删除超过5天的日志文件。但是删除不应基于文件的时间戳。它应该基于文件名。对于今天的例子日期是07月05日和目录包含类似名称的10个文件ABC_20120430.log
,ABC_20120429.log
,ABC_20120502.log
,ABC_20120320.log
等我希望能够通过提取从文件的名称日期以删除这些文件。
基于文件名中的日期:
THRESHOLD=$(date -d "5 days ago" +%Y%m%d)
ls -1 ABC_????????.log |
sed 'h;s/[_.]/ /g;G;s/\n/ /' |
while read A DATE B FILE
do
[[ $DATE -le $THRESHOLD ]] && rm -v $FILE
done
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句