A maneira de compactar um diretório foo
em um arquivo chamado foo.7z
usar 7z
é usar o comando a
("add"):
7z a foo.7z foo
Para fazer isso em vários diretórios, pode-se usar um loop:
for dir in foo bar baz; do
7z a "$dir".7z "$dir"
done
(Isto é seguro contra nomes de diretórios que incluem espaços, porque
$dir
é citado, mas não contra nomes de diretório que começam com um
traço; esses resultariam em 7z
tentando interpretá-los como
opções.)
Se o nome dos diretórios que você pretende arquivar compartilhar um padrão,
você poderia usar isso no loop for, em vez de listar todos os diretórios
explicitamente, por ex. for dir in [0-9][0-9][0-9][0-9][0-9][0-9]-*; ...
.
Note que a documentação do 7z adverte contra o uso do formato 7z para fins de arquivamento no Unix, porque não preserva a propriedade em formação. Isso pode ou não importar para você.