Ich habe ein Verzeichnis mit etwa 800 TGZ-Archiven, von denen jedes etwa 10 Dateien enthält. Effektiv möchte ich jedes Archiv in ein Verzeichnis desselben Namens umwandeln. Gibt es dafür einen einfachen einzeiligen Befehl oder sollte ich ein Skript schreiben?Extrahieren Sie die in archive.tar.gz enthaltenen Dateien in das neue Verzeichnis mit dem Namen archive
Antwort
Ich denke, dass Sie dies Skript müssen. Sie können das Verzeichnis angeben, in das der Extrakt eingefügt wird, 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 existieren, wird das Skript trotzdem funktionieren - das mkdir wird einfach fehlschlagen.
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
Ja, ich dachte, ich würde wahrscheinlich ein Skript benötigen - danke für die Bestätigung. –
Dein Skript funktioniert gut - danke auch dafür! –
Das Skript funktionierte gut, aber ich musste "mkdir $ a_dir" hinzufügen. – cerebrou
Nun, wenn Sie $ tar -zxf some-archive.tar.gz -C .
laufen, (man beachte den Punkt am Ende) ein neues Verzeichnis some-archive/
genannt wird in dem Verzeichnis erstellt werden, sind Sie derzeit in.
Vielleicht ist das, was Sie von Ihrem gemeint Frage? Dies ist, was ich im Allgemeinen will, damit es auch für Sie arbeiten kann.
- 1. PHP-Code in phpXXXX.tmp Dateien in temporären Verzeichnis enthaltenen
- 2. Verzeichnis in Zip extrahieren
- 3. Alle tar.bz2-Dateien in ein Verzeichnis extrahieren
- 4. Entpacken Sie alle enthaltenen Dateien in cpp
- 5. neue Dateien im Verzeichnis laden
- 6. Extrahieren von JAR in das angegebene Verzeichnis
- 7. UNIX: So suchen und kopieren Sie alle Dateien mit dem gleichen Namen in ein anderes Verzeichnis
- 8. Umbenennen von Verzeichnis mit dem gleichen Namen anderen Fall
- 9. WinSCP-Download in lokales Verzeichnis mit dem heutigen Namen
- 10. So entfernen Sie alle Dateien aus dem Verzeichnis, ohne das Verzeichnis in Node.js zu entfernen
- 11. extrahieren .rar-Dateien in ein bestimmtes Verzeichnis in PHP
- 12. Extrahieren Sie mehrere div Tags mit dem gleichen Namen
- 13. Finden Sie alle CSV-Dateien in dem Verzeichnis und fügen Sie gefundene Datei in die richtige Liste durch den Namen
- 14. Benennen Sie mehrere Dateien in einem Verzeichnis mit Batch-Skript
- 15. Erzwingen Sie beim Extrahieren von Dateien mit System.IO.Compression erzwungene Dateien?
- 16. Shell: Wie verschiebt man mehrere Dateien in ein Verzeichnis und zip das Verzeichnis mit einem anderen Namen?
- 17. mkdir() erstellt nicht das neue Verzeichnis
- 18. Wie kann ich alle mehrteiligen ZIP/RAR-Archive in einem Verzeichnis extrahieren?
- 19. Überspringen von Dateien in einem Verzeichnis mit demselben Namen aus dem Eingabefeld
- 20. C# lesen Ordner (Namen) aus dem Verzeichnis
- 21. SVN unversioniert Verzeichnis mit dem gleichen Namen existiert bereits
- 22. Amazon S3 kopiert das Verzeichnis in ein anderes Verzeichnis
- 23. Verzeichnis auflisten und Dateien mit bestimmten Zeichenfolgen im Namen finden
- 24. Unix - Ordner verschieben, in dem Dateien mit einem Namen übereinstimmen
- 25. Erstellen Sie ein Verzeichnis mit UTF-8-Namen in Vim
- 26. Dateien aus dem Verzeichnis, das in falscher Reihenfolge mit Python gezogen wird
- 27. Linux Bash - entfernen Sie alle Dateien, die in einem Verzeichnis aus einem anderen Verzeichnis sind
- 28. Extrahieren von Spalten mit einem bestimmten Namen
- 29. Count Dateien in einem Verzeichnis mit dem Dateinamen einen String
- 30. Wie cd in ein Verzeichnis auf Remote-Rechner und führen Sie das Skript in diesem Verzeichnis
Sie können angeben, dass im Befehl selbst 'tar -xvzf filename.tar.gz -C/gewünscht/Pfad' –