Hallo,
eine unixoide Shell?
meinePhotos/123/123.jpg
meinePhotos/123/.listing
meinePhotos/123/thumbs/123.jpg
Man kann bei tar mit der Option --exclude bestimmte Muster von Dateipfaden ausschließen.
Du könntest aber auch anders denken: Du listest tar einfach die Dateien auf, die Du haben willst und das bequem mit der in der Shell eingebauten shell expansion:
$ ls -a foo/
. .hidden eins.jpg zwei.jpg
.. drei.jpg thumbs
(Ein Nachbau Deines Verzeichnisses)
$ echo foo/*
foo/drei.jpg foo/eins.jpg foo/thumbs foo/zwei.jpg
(Einfache shell expansion selektiert alles, ausser hidden Files)
$ echo foo/*.jpg
foo/drei.jpg foo/eins.jpg foo/zwei.jpg
(Ein genaueres Muster selektiert einfach nur die Dateien, die Du haben willst)
$ tar --create --verbose --file=bla.tar foo/*.jpg
foo/drei.jpg
foo/eins.jpg
foo/zwei.jpg
(Auch im Aufruf von tar findet die shell expansion statt. tar kriegt also einfach nur die Dateien Du willst)
$ tar --list --file=bla.tar
foo/drei.jpg
foo/eins.jpg
foo/zwei.jpg
(... und verpackt diese auch)
$ rm -R foo/
$ tar --extract --file=bla.tar
$ ls -a foo/
. .. drei.jpg eins.jpg zwei.jpg
(Tada!)
Tim