Ubuntuシステムに圧縮したいディレクトリのリストがあります。
自分のフォルダのサイズを自動的に計算して圧縮ファイル名にサイズをコピーするツールがありますか?
私は次のようなものがあります:
$du -h -d 1
671G ./folder1
2.7T ./folder2
私はそれが欲しい
$ls -1
folder1.671.G.tar.gz
folder2.2.7T.tar.gz
指定されたサイズdu -h -d 1
は圧縮されていないサイズなので、圧縮後にサイズ計算を実行する必要があります。
ありがとう
答え1
for folder in $(ls -l | grep ^d | awk '{print $NF}'); do
tar zcf ${folder}.tar.gz ${folder}
size=$(du -sh ${folder}.tar.gz | awk '{print $1}')
mv ${folder}.tar.gz ${folder}-${size}.tar.gz
done
- 現在のディレクトリのすべてのフォルダをTarとzipに圧縮
- tar ファイルのサイズを取得します。
- サイズを含むようにtarファイルの名前を変更する