私は今日(bashで約8年間幸せにハッキングした後)、「rm」を使用して「日付で削除」する簡単な方法がないことに気づきました。したがって、解決策は、rm、ls、find、awk、sedなどのコマンドの組み合わせをパイプ処理することです。
たとえば、2009年から作業ディレクトリ内のすべてのファイルを削除したいとします。一般的なアプローチは何でしょうか。
私は次のことを思いつきました。これはお尻が醜く、「rm」がディレクトリをスキップするように設定されている場合にのみ実行する必要があります(そうでない場合は親ディレクトリを削除します)。
ls -la | awk '{if (substr($6,0,5)==2009) print $8}' | xargs rm
最もエレガントで最も法外に過剰に設計されたソリューションの両方のポイント。