Linux – Diviser une sauvegarde en deux étapes

Je crée un tarball en utilisant tar zcf arhive.tar.gz dir/ et cela fonctionne bien. Maintenant, je voulais split cela en deux simples archives, une uniquement pour les images, l'autre – pour tout le rest.

Il semble qu'il n'y ait pas un moyen sortingvial et propre de le faire. Pour tar je peux seulement exclure les files, ce qui est déraisonnable d'exclure toutes les extensions sauf gif, jpg et png.

Pour inclure, je dois utiliser find with – exec ou | xargs | xargs . Cela fonctionne plutôt, mais se casse si les noms de files ont des espaces ou des caractères spéciaux (apostrophes, guillemets). Alors maintenant, je dois transporter tous les noms de files dans, dis, awk et les échapper manuellement?

Qu'est-ce qui me manque? Pourquoi cela est-il si compliqué?

Je voulais simplement tar zcf archive-images.tar.gz dir/ --match-only=*.png

utiliser find ... -print0 | xargs -0 tar... find ... -print0 | xargs -0 tar... ces deux options existent pour traiter les noms de files avec des espaces.