디렉터리 크기를 나열하고 압축합니다.

디렉터리 크기를 나열하고 압축합니다.

우분투 시스템에 압축하고 싶은 디렉토리 목록이 있습니다.

내 폴더의 크기를 자동으로 계산하여 압축 파일 이름에 크기를 복사할 수 있는 도구가 있나요?

나는 다음과 같은 것을 가지고 있습니다 :

$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 파일 이름 바꾸기

관련 정보