Odpowiedzi:
A może po prostu:
$ tar tf archive.tar.gz | grep foo
tar tf graphics.tar.gz | find . --name *space*ale mówiunkown predicate --name
findArgumenty @clamp wymagają tylko jednego myślnika, ale ponieważ jest to lista plików na stdin, grepzamiast tego chcesz użyć , podobnie jak przykładowy kod hesse. Spróbujtar tf graphics.tar.gz | grep 'space'
grep *foo*nie jest prawidłowym wyrażeniem regularnym. gregnie rozumie globów, rozumie wyrażenia regularne. Spróbuj grep foozamiast tego.
Zamontuj archiwum jako katalog. Możesz to zrobić za pomocą systemu plików AVFS , który umożliwia dostęp do dowolnego archiwum jako katalogu, którego nazwa ma końcowy ciąg #.
mountavfs
cd ~/.avfs$PWD
find archive.tar.gz\# -name '*foo*'
Myślę, że to działa bez fajki i grep.
lubię to:
tar tvf archive.tar.gz "foo"
w ten sposób globusy również będą działać.
tar tvf archive.tar.gz "*.foo"