Linux – División de una copy de security en dos pasos

Creo un tarball usando tar zcf arhive.tar.gz dir/ y esto funciona bien. Ahora quería dividir esto en dos sencillos files, uno sólo para las imágenes, el otro – para todo lo demás.

Parece que no hay una manera trivial y limpia de hacer esto. Para tar sólo puedo excluir files, lo que no es razonable para excluir todas las extensiones excepto gif, jpg y png.

Para include, tengo que usar find con cualquiera de – exec o | xargs | xargs Esto funciona, pero se rompe si los nombres de file tienen espacios o caracteres especiales (apóstrofes, comillas). Así que ahora tengo que canalizar todos los nombres de file en, digamos, awk y escaping de ellos manualmente?

¿Qué me estoy perdiendo? ¿Por qué es tan complicado?

Sólo quería tar zcf archive-images.tar.gz dir/ --match-only=*.png

use find ... -print0 | xargs -0 tar... find ... -print0 | xargs -0 tar... estas dos opciones existen para tratar con nombres de fichero con espacios.