Como extrair um único arquivo de um arquivo .tar / .tar.gz

Se você já se deparou com um cenário em que tem um enorme arquivo de backup tar, mas só precisa extrair um único arquivo, você está lendo o artigo certo hoje. Por que se preocupar em extrair tudo só para pegar aquele arquivo?
Em vez disso, você só precisa saber a sintaxe para extrair um único arquivo desse arquivo. E aqui está essa sintaxe:
tar --extract --file = < tarfile > < caminho / para / arquivo único >
Assim, por exemplo, se você deseja extrair xmlrpc. php de um arquivo WordPress baixado, você &’ deve usar o seguinte, uma vez que tudo dentro do arquivo tar do wordpress está em um “ wordpress ” pasta.
tar --extract --file = latest. tar. gz wordpress / xmlrpc. php
Isso, é claro, está usando a sintaxe detalhada. Ao invés de usar --extract você pode usar -x, e ao invés de usar --file você pode usar -f, e você pode até mesmo colocar ambos juntos em um único argumento como -xf. (Observação: historicamente, você também precisa da opção -z para executar o gzip, mas em meus testes funciona bem sem ela). Portanto, o comando mais curto seria:
tar -xf latest. tar. gz wordpress / xmlrpc. php
Você também pode extrair uma única pasta usando a mesma sintaxe. Por exemplo, para pegar a pasta wordpress / wp-includes inteira de dentro do arquivo do WordPress, você simplesmente faria:
tar -xf latest. tar. gz wordpress / wp-includes
Publicidade
Também existe um parâmetro --wildcard que você pode usar para extrair todos os arquivos que correspondem a um padrão — por exemplo, se você quiser pegar todas as imagens PNG de um arquivo, pode fazer algo assim:
tar -xf < tarball > --wildcards '* . png'
Espero que você tenha aprendido algo hoje.
Nenhum comentário