PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mehrere tar files in verschiedenen unterverzeichnissen entpacken ?



deathb
02-10-2002, 23:41
for i in *.tar.gz; do tar xzf $i; done

so funktiobiert das schonmal sehr schön wenn die files im gleichen dir liegen
aber wie bringt man diesen script das suchen in mehreren verzeichnissen mit jeweils einem sub dir bei ?

Hans-Georg Normann
03-10-2002, 15:07
Also, das kommt erst mal auf deinen tar File an. Wie sind die Dateiuen darin abgelegt? sind die denn alle ohne Pfad?

Du hast grundsäzlich folgende Möglichkeiten:
--directory=/usr/irgendetwas (macht dieses Verzeichnis zum aktiven Verzeichnis)
--files-from=/home/..../input.txt (in dieser Datei stehen die Dateien die ge- oder entpackt werden sollen)


du müsstest für jedes Zielverzeichnis tar einmal starten.

Hans

deathb
03-10-2002, 16:57
/
dir1/
dir2/
dir3/

so in etwa sieht die dir struktur aus wo die tar files liegen...der inhalt der files ist mit unterverzeichnissen

files from ist ja ganz schön, aber zur arbeitserleichterung sollte er die dirs selbststädig nach tar.gz files absuchen....

find *.tar.gz | tar xvzf ist mir da als nub eingefallen...wäre aber auch zu einfach ;)

Hans-Georg Normann
03-10-2002, 17:51
He he,

liegen die tar Files etwa nicht alle in einem Verzeichnis? wie wäre es denn mit

find . -name "*.tar.gz" -exec tar...........{} \;
find . -iname "*.tar.gz" -exec tar...........{} \;
Sucht alle Unterverzeichnisse und führt mit -exec ein script aus. {} steht für den gefundenen dateinamen. auf keinen Fall \; am Ende der Befehlssequenz vergessen.

Hans