Como você apenas arquivos tar em um diretório baseado em um nome de arquivo específico?

5

Eu quero criar uma tarball e incluir apenas os arquivos no diretório que começam com um nome de arquivo específico. Por exemplo, eu tenho apples-x.x.x e oranges-x.x.x, e só quero tar os arquivos que começam com "apple". Como posso fazer isso?

Obrigado!

    
por hsatterwhite 21.02.2011 / 16:56

3 respostas

7

Ummm, eu posso estar esquecendo de algo, mas que tal

tar cf /path/tarfile appl*

A menos que você tenha diretórios que também sejam chamados de ./appl* , caso em que eles serão arrastados, com seus conteúdos, que devem fazê-lo. Se o último pertence, você pode parar com --no-recursion .

    
por 21.02.2011 / 16:58
8

Talvez algo assim:

find / -type f -name "apple*" -exec tar -rf archive.tar '{}' \;

É melhor que tar cf /path/tarfile appl* beacause não arquiva diretório com padrão apple *

    
por 21.02.2011 / 17:13
0

E sobre

find / -type f -name "apple*" -exec tar -cf archive.tar '{}' \+

Dessa forma, ele passaria todos os nomes de arquivos para o tar em um único disparo (consulte -exec command {} + na página man do find).

    
por 21.09.2015 / 18:29