tar
:
for dir in */*/; do dir=${dir%/}; tar cf "${dir//\//-}.tar" "$dir"; done
zip
:
for dir in */*/; do dir=${dir%/}; zip -0r "${dir//\//-}.zip" "$dir"; done
Os arquivos MP3 contêm dados já compactados, que não podem ser comprimidos ainda mais - o melhor que você obterá é ~ 2%, e seria muitas vezes mais lento - então o primeiro exemplo é apenas um arquivo tar
.
Se você ainda quiser a compactação Gzip, adicione uma opção z
(como em tar czf
) e substitua .tar
por .tar.gz
. Da mesma forma, a opção -0
para zip
desativa a compactação - altere -0r
para -r
para reativar.
${dir%/}
remove o final /
de $dir
${dir//\//-}
substitui todos os /
por -