Linux: Como arquivar extensões de arquivos selecionados em uma árvore desconhecida

1

Qual é a melhor maneira de arquivar as extensões de arquivos selecionados em uma árvore desconhecida. Não consigo usar opções de exclusão em tar / gzip / rsync, pois seria impossível excluir todas as variações de extensão possíveis.

Exemplo para fazer backup de todos os arquivos .foo e .bar em uma árvore recursiva, mas não em outros tipos de arquivos desconhecidos.

Eu presumo que isso precisa ser uma combinação de ls / find, grep e tar / gzip.

Obrigado

    
por Linux Tar Archive query 21.05.2011 / 05:00

2 respostas

2

Muito semelhante a resposta do dmourati , mas sem xargs.

find /path/to/tree \( -name "*.foo" -o -name "*.bar" \) -print0 | tar -T /dev/stdin --null -cvzf foobar.tar.gz
    
por 21.05.2011 / 05:17
1

Tente algo assim:

find /path/to/tree \( -name "*.foo" -o -name "*.bar" \) -print0 | xargs -r0 tar cvzf foobar.tar.gz

Você gera a lista de arquivos por meio do comando find e canaliza isso para xargs e para tar.

    
por 21.05.2011 / 05:14