it-swarm.com.de

Extrahieren Sie die in archive.tar.gz enthaltenen Dateien in ein neues Verzeichnis namens Archiv

Ich habe ein Verzeichnis, das ungefähr 800 .tgz-Archive enthält, von denen jedes ungefähr 10 Dateien enthält. Ich möchte eigentlich jedes Archiv in ein gleichnamiges Verzeichnis umwandeln. Gibt es dazu einen einfachen einzeiligen Befehl oder sollte ich ein Skript schreiben?

16
si_2012

Ich denke, Sie müssen das Skript schreiben. Sie können das Verzeichnis angeben, in dem sich der Extrakt befindet, indem Sie die Option tar -C verwenden. 

Das folgende Skript geht davon aus, dass die Verzeichnisse nicht existieren und erstellt werden müssen. Wenn die Verzeichnisse vorhanden sind, funktioniert das Skript weiterhin - das mkdir schlägt einfach fehl.

tar -xvzf archive.tar.gx -C archive_dir

z.B.

for a in *.tar.gz
do
    a_dir=`expr $a : '\(.*\).tar.gz'`
    mkdir $a_dir 2>/dev/null
    tar -xvzf $a -C $a_dir
done
18
suspectus

Erstellen Sie einen Ordner, in den Sie wie folgt extrahieren möchten mkdir archive Und übergeben Sie den Ordnernamen mit -C beim Extrahieren tar -xvf archive.Zip -C archive

0
Shirish Singh