Estou tentando criar um script para extrair apenas imagens JPEG de um arquivo contendo vários tipos de arquivos.
Para fazer isso, tentei usar:
tar -xf MyTar.tar *.jpg
mas falhou (*.jpg não encontrado) e sugiro que eu use "--wildcard". Então eu tentei
tar -xf MyTar.tar --wildcard *.jpg
Eu fiz isso, mas apareceu o mesmo erro e um aviso diferente me dizendo que a opção "--wildcard" é ambígua.
Examinei as páginas de manual do tar, mas não encontrei nenhuma pista sobre o problema.
Responder1
No final, encontrei a resposta depois de um bom intervalo. A opção é curingaé, plural...
Então o comando
tar -xf MyTar.tar --wildcards "*.jpg"
fiz exatamente o que eu precisava.
Responder2
Coloque aspas ao redor do curinga assim "*.jpg"
para que o shell não tente expandi-lo e, em vez disso, passe-o diretamente para o tar. Você deseja que tar avalie o curinga, não o shell e as aspas fazem isso.
Responder3
Para algumas versões mais antigas do tar, o seguinte é extraído deo arquivo "homem":
Os curingas de substituição de nome de arquivo não podem ser usados para extrair arquivos do arquivo. Em vez disso, use um comando no formato:
tar xvf ... /dev/rmt/0 `tar tf ... /dev/rmt/0 | grep 'pattern' `