@clamp Sí, si desea hacer algo con cada archivo, simplemente canalice esa salida a otro comando.
¡Gracias! lo siento pero soy un novato en Unix. Lo intenté: tar tf graphics.tar.gz | find . --name *space*pero diceunkown predicate --name
abraza el
Los findargumentos de @clamp solo toman un guión, pero debido a que es una lista de archivos en stdin, debes usarlos grep, como el código de ejemplo de hesse. Pruebatar tf graphics.tar.gz | grep 'space'
Kevin
1
grep *foo*No es una expresión regular válida. gregno entiende los globos, entiende las expresiones regulares. Intenta en su grep foolugar.
Alexios
3
Montar el archivo como un directorio. Puede hacerlo con el sistema de archivos AVFS , que le permite acceder a cualquier archivo como un directorio cuyo nombre tiene un final #.
mountavfs
cd ~/.avfs$PWD
find archive.tar.gz\# -name '*foo*'
tar tf graphics.tar.gz | find . --name *space*
pero diceunkown predicate --name
find
argumentos de @clamp solo toman un guión, pero debido a que es una lista de archivos en stdin, debes usarlosgrep
, como el código de ejemplo de hesse. Pruebatar tf graphics.tar.gz | grep 'space'
grep *foo*
No es una expresión regular válida.greg
no entiende los globos, entiende las expresiones regulares. Intenta en sugrep foo
lugar.Montar el archivo como un directorio. Puede hacerlo con el sistema de archivos AVFS , que le permite acceder a cualquier archivo como un directorio cuyo nombre tiene un final
#
.fuente
Creo que funciona sin tubería y grep.
Me gusta esto:
tar tvf archive.tar.gz "foo"
tar tvf archive.tar.gz "*.foo"
fuente