@clamp Sim, se você quiser fazer algo em cada arquivo, basta canalizar essa saída para outro comando.
obrigado! desculpe, mas eu sou um novato no unix. Eu tentei: tar tf graphics.tar.gz | find . --name *space*mas diz #unkown predicate --name
clamp
Os findargumentos do @clamp têm apenas um traço, mas como é uma lista de arquivos no stdin, você deseja usar grepcomo o código de exemplo do hesse. Tentetar tf graphics.tar.gz | grep 'space'
Kevin
1
grep *foo*não é uma expressão regular válida. gregnão entende globs, entende expressões regulares. Tente em grep foovez disso.
31512 Alexios
3
Monte o arquivo morto como um diretório. Você pode fazer isso com o sistema de arquivos AVFS , que permite acessar qualquer arquivo morto como um diretório cujo nome tem um final #.
mountavfs
cd ~/.avfs$PWD
find archive.tar.gz\# -name '*foo*'
tar tf graphics.tar.gz | find . --name *space*
mas diz #unkown predicate --name
find
argumentos do @clamp têm apenas um traço, mas como é uma lista de arquivos no stdin, você deseja usargrep
como o código de exemplo do hesse. Tentetar tf graphics.tar.gz | grep 'space'
grep *foo*
não é uma expressão regular válida.greg
não entende globs, entende expressões regulares. Tente emgrep foo
vez disso.Monte o arquivo morto como um diretório. Você pode fazer isso com o sistema de arquivos AVFS , que permite acessar qualquer arquivo morto como um diretório cujo nome tem um final
#
.fonte
Eu acho que funciona sem pipe e grep.
como isso:
tar tvf archive.tar.gz "foo"
tar tvf archive.tar.gz "*.foo"
fonte