我想删除$DIR_TO_CLEAN
几天前的文件$DAYS_TO_SAVE
。简单的:
find "$DIR_TO_CLEAN" -mtime +$DAYS_TO_SAVE -exec rm {} \;
我想我们可以为 添加一个-type f
或一个-f
标志rm
,但我真的很想计算被删除的文件数量。
我们可以天真地这样做:
DELETE_COUNT=`find "$DIR_TO_CLEAN" -mtime +$DAYS_TO_SAVE | wc -l`
find "$DIR_TO_CLEAN" -mtime +$DAYS_TO_SAVE -exec rm {} \;
但是这个解决方案还有很多不足之处。除了命令重复之外,如果rm
删除文件失败,此代码段还会高估计数。
我对重定向、管道(包括命名管道)、子shell、 、 等非常满意xargs
,tee
但我渴望学习新技巧。我想要一个适用于 bash 和 ksh 的解决方案。
您如何计算被删除的文件数find
?