500Mを超える場合のファイル検索と圧縮方法

500Mを超える場合のファイル検索と圧縮方法

500M より大きく、1 日より古いファイルを検索し、これらのファイルを圧縮する必要があります。拡張子が.gzのファイルも省略する必要があります。これはどのように達成できますか?

ベストアンサー1

LC_ALL=C find . ! -name '*.gz' \
                -type f \
                -size +"$((500*1024*1024))c" \
                -mtime +0 \
                -exec gzip {} +

これは圧縮に使用されますgzip。また、さまざまな圧縮形式を使用する他の圧縮ユーティリティを表示または確認xzしてください。bzip2compress

いくつかのfind実装(例:GNU)find-size +500M

進行状況に関する情報を取得する-vオプションを追加できます。gzip

file両方が存在する場合は、file.gz確認メッセージが表示されます。-f強制的に圧縮したい場合、または上書きしたくない場合にプロンプ< /dev/null​​トfile.gzに応答したくない場合は、このオプションを追加します。

-mtime +0年齢が整数日数に丸められていることを確認してください。下に0より大きいため、この値は1日以上経過したファイルに適用され、-size +500Mサイズ(MB単位の整数)が丸められていることも確認します。戻るより大きいので、サイズ500が大きいファイルの場合も同様です。厳しく500M(524288000バイト)より大きい。

これは、ファイル名の先頭に現在のロケールで有効な文字が含まれているかどうかにかかわらず、次の名前で終わるファイルが一致することをLC_ALL=C確認するためのものです。ただし、これはエラーメッセージの言語に影響を与えるサイズ効果をもたらす可能性があります。*.gz.gz

実際に実行せずに何をするかを確認したい場合gzipに変更してくださいecho gzip

おすすめ記事