特定のサイズと種類より大きいファイルの検索と削除

特定のサイズと種類より大きいファイルの検索と削除

私のサーバーの大容量ログファイルとバックアップを整理したいと思います。

私はこれを思い出しました:

find ./ -size +1M | xargs rm

しかし、mp3とmp4は含めたくありません。ログファイルとアーカイブファイル(zip、tarなど)に対してのみこれを実行したいと思います。

その命令はどんな姿なのでしょうか?

ベストアンサー1

find -type f \( -name "*zip" -o -name "*tar" -o -name "*gz" \) -size +1M -delete
  • この\( \)構造により、さまざまなファイル名パターンをグループ化できます。
  • オプションを使用すると、-deleteパイプや問題を回避できますxargsこれこれそしてこれ
  • ./または、現在のディレクトリに対して.コマンドを使用する場合はオプションです。find


編集する:Eric Renoufが言ったように、このバージョンがこのオプションをfindサポートしていない場合は、-deleteこの-execオプションを使用してください。

find -type f \( -name "*zip" -o -name "*tar" -o -name "*gz" \) -size +1M -exec rm {} +

ここでコマンドでフィルタ処理されたファイルはすべてコマンドfindに渡されます。rm

おすすめ記事