Passar lista de pastas para o comando zip

1

Eu tenho uma pasta que contém muitas pastas nela.

Eu não preciso zipar todos eles e tenho uma lista de pastas que precisam ser compactadas em um arquivo separado

A lista de pastas está no seguinte formato:

folder1 folder2 folder3...

Posso fazer algo assim (isso não funciona, mas não sei como transmitir os argumentos corretamente):

zip -r backup1.zip < listOfFolders.txt
    
por Jinx 09.07.2014 / 15:58

2 respostas

2

Use a opção -@ para que zip leia uma lista de arquivos de sua entrada padrão.

$ cat listOfFolders.txt | zip -r@ part1.zip
    
por 09.07.2014 / 16:14
-1
zip backup1.zip -r@ < listOfFolders.txt

A opção r@ faz entradas de leitura de zip a partir de stdin.

Se você não quiser passar a lista de arquivos de um arquivo temporário listOfFolders.txt , podemos usar o grep para filtrar arquivos e passar resultados para compactar da seguinte maneira

grep -rl "<parent_folder_name>" <file/folder_name_regex> | zip backup1.zip -r@

(ou)

Como mencionado na resposta acima,

listOfFolders zip -r@ backup1.zip
    
por 20.12.2017 / 06:21

Tags