Risposte:
Che ne dici di:
$ tar tf archive.tar.gz | grep foo
tar tf graphics.tar.gz | find . --name *space*
ma diceunkown predicate --name
find
argomenti @clamp richiedono solo un trattino, ma poiché si tratta di un elenco di file su stdin, si desidera utilizzare grep
invece, come il codice di esempio di hesse. Provatar tf graphics.tar.gz | grep 'space'
grep *foo*
non è un'espressione regolare valida. greg
non capisce i globs, capisce le espressioni regolari. Prova grep foo
invece.
Montare l'archivio come directory. Puoi farlo con il filesystem AVFS , che ti consente di accedere a qualsiasi archivio come directory il cui nome ha un finale #
.
mountavfs
cd ~/.avfs$PWD
find archive.tar.gz\# -name '*foo*'
Penso che funzioni senza pipe e grep.
come questo:
tar tvf archive.tar.gz "foo"
in questo modo, anche i globs funzioneranno.
tar tvf archive.tar.gz "*.foo"