I create a tarball using
tar zcf arhive.tar.gz dir/ and this works ok. Now I wanted to split this into two simple archives, one only for images, the other — for everything else.
It seems that there’s not a trivial and clean way to do this. For
tar I can only exclude files, which is unreasonable to exclude every extension except gif, jpg, and png.
To include I have to use
find with either –
| xargs. This kinda works, but breaks if the filenames have spaces or special characters (apostrophes, quotation marks). So now I have to pipe all the filenames into, say,
awk and escape them manually?
What am I missing? Why is this so complicated?
I just wanted
tar zcf archive-images.tar.gz dir/ --match-only=*.png
find ... -print0 | xargs -0 tar... these two options exist in order to deal with filenames with spaces.