@ zacisk Tak, jeśli chcesz coś zrobić z każdym plikiem, po prostu potokuj wyjście do innego polecenia.
dzięki! przepraszam ale jestem nowicjuszem w unixie. próbowałem: tar tf graphics.tar.gz | find . --name *space*ale mówiunkown predicate --name
zacisk
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'
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*'
tar tf graphics.tar.gz | find . --name *space*
ale mówiunkown predicate --name
find
Argumenty @clamp wymagają tylko jednego myślnika, ale ponieważ jest to lista plików na stdin,grep
zamiast 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.greg
nie rozumie globów, rozumie wyrażenia regularne. Spróbujgrep foo
zamiast 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
#
.źródło
Myślę, że to działa bez fajki i grep.
lubię to:
tar tvf archive.tar.gz "foo"
tar tvf archive.tar.gz "*.foo"
źródło