Shell: Verzeichnisprobleme mit tar Befehl

Hallo!

Ich möchte von einem Verzeichnis mehrere Dateien gleicher Endung packen, welche in einem völlig anderen Verzeichnis liegen.
Dazu nutze ich den Befehl:

tar -czf archiv.tar.gz -C /home/temp/dump/ *.tmp

Wichtig ist, dass ich über die -C Option nicht die Verzeichnisstruktur mit im Archiv haben möchte. Leider funktioniert der Aufruf nicht, da anscheinend das Wildcard ‚*‘ vor dem Wechseln des Verzeichnisses (-C) passiert und somit die Dateien nicht gefunden werden. Leider funktioniert es ebenso wenig, den Quelldateien ein Verzeichnis beizufügen.

Zur Vollständigkeit noch der Fehler, der von tar ausgegeben wird:
tar: *.tmp: Kann stat nicht ausführen.: Datei oder Verzeichnis nicht gefunden
tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler.

Hallo serethos,

Ich möchte von einem Verzeichnis mehrere Dateien gleicher
Endung packen, welche in einem völlig anderen Verzeichnis
liegen.
Dazu nutze ich den Befehl:

tar -czf archiv.tar.gz -C /home/temp/dump/ *.tmp

Wichtig ist, dass ich über die -C Option nicht die
Verzeichnisstruktur mit im Archiv haben möchte.

Probiere mal

tar --transform='s,home/temp/dump/,,' -czf archiv.tar.gz /home/temp/dump/\*.tmp

Das hinter --transform ist ein regulärer Ausdruck, der den ersten String in den Kommata durch den zweiten String in den Kommata ersetzt (wie üblich, die Ersetzung durch das s-Kommando ausgedrückt). Da hier der zweite String leer ist, wird home/temp/dump durch einen Leerstring ersetzt, also gewissermassen gelöscht.
Das home steht ohne führenden Slash, weil dieser schon durch tar ersetzt wird.
Wenn das jetzt nicht verständlich genug ausgedrückt habe, dann schau lieber im Original nach
http://www.gnu.org/software/tar/manual/tar.html
Im Abschnitt 6.7 ist das viel besser erklärt, als ich das hier machen kann.

Viele Grüsse
Klaus Bernstein