シェルバッチ圧縮ファイル

シェルバッチ圧縮ファイル

ランダム命名法を使用する540万を超えるファイルを含むサーバーがあります。さて、このファイルをそれぞれ5400個ずつ1000gzファイルに圧縮するシェルスクリプトを作成したいと思います。また、後で参照できるように、各ファイルが圧縮されたgzファイルのログを保持したいと思います。これはどのくらい可能ですか?

答え1

ファイル名に "\n" がなく、シェルが bash であるとします。

find /path -type f -print | split -l 5400 - filenames.
for f in filenames.*
do tar cvzf tarfile-${f#filenames.}.tar.gz -T $f
done
gzip -9 filenames.*

"zzz"ファイルはどこにありますか?

zgrep zzz filename.*

コマンドが「filename.XX.gz」を返すと、ファイルは「tarfile-XX.tar.gz」にあります。

関連情報