$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、ファイルの削除に失敗した場合のカウントを過大評価します。
私はリダイレクト、パイプ(名前付きのものを含む)、サブシェル、、などにかなり慣れていxargsますteeが、新しいトリックを学びたいと思っています。bashとkshの両方で機能するソリューションが欲しいです。
によって削除されたファイルの数をどのように数えますfindか?