Extraiga archivos específicos en un archivo tar usando un comodín

Extraiga archivos específicos en un archivo tar usando un comodín

Estoy intentando crear un script para extraer solo imágenes jpeg de un archivo que contiene muchos tipos de archivos.

Para hacerlo, intenté usar:

   tar -xf MyTar.tar *.jpg

pero falló (*.jpg no encontrado) y me sugiero que use "--comodín". Así que lo intenté

tar -xf MyTar.tar --wildcard *.jpg

Lo hice, pero luego apareció el mismo error y una advertencia diferente que me decía que la opción "--wildcard" es ambigua.

Revisé las páginas de manual de tar, pero no encontré ni idea del problema.

Respuesta1

Al final encontré la respuesta después de un buen descanso. La opción es comodín.s, plural...

Entonces el comando

tar -xf MyTar.tar --wildcards "*.jpg"

Hizo exactamente lo que necesitaba.

Respuesta2

Coloque comillas alrededor del comodín de esta manera "*.jpg"para que el shell no intente expandirlo y, en su lugar, lo pase directamente a tar. Quiere que tar evalúe el comodín, no el shell y las comillas lo hacen.

Respuesta3

Para algunas versiones anteriores de tar, lo siguiente se extrae deel archivo "hombre":

Los comodines de sustitución de nombres de archivos no se pueden utilizar para extraer archivos del archivo. Más bien, utilice un comando de la forma:

tar xvf ... /dev/rmt/0 `tar tf ... /dev/rmt/0 | grep 'pattern' `

información relacionada