우분투 시스템에 압축하고 싶은 디렉토리 목록이 있습니다.
내 폴더의 크기를 자동으로 계산하여 압축 파일 이름에 크기를 복사할 수 있는 도구가 있나요?
나는 다음과 같은 것을 가지고 있습니다 :
$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 파일 이름 바꾸기