Moin, ich habe ein Verzeichnis, in dem mehrere Tausend zip-Dateien liegen. Diese möchte ich per Script entpacken. Das kriege ich noch hin. Allerdings sind die zip-Dateinamen etwas kryptisch und in den Archiven sind die Dateien ohne Ordner abgelegt. Mit der folgenden Aufgabe bin ich hoffnungslos überfordert. Also die zip-Archive heißen in etwa so dimdideldum%2Fx%2FArchivirgendwie.zip dimdideldum%2Fx%2FArchivirgendwieanders.zip Die Aufgabe wäre nun 1. Archive umbenennen, d.h. vorne alles inklusive des zweiten %2F wegschneiden 2. Ordner erstellen mit jetzt gekürztem Namen (ohne .zip natürlich) 3. zip-Archive in jeweils passenden Ordner kopieren und extrahieren. hätte da jemand ein Code-Schnipsel? Wäre super! Gruß Joachim -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hi wie wär's mit mmv - move/copy/append/link multiple files by wildcard patterns einfach per zypper nachinstallieren Jürgen Am Sonntag, 11. Juni 2017, 14:09:54 CEST schrieb Joachim H.:
Moin,
ich habe ein Verzeichnis, in dem mehrere Tausend zip-Dateien liegen. Diese möchte ich per Script entpacken. Das kriege ich noch hin. Allerdings sind die zip-Dateinamen etwas kryptisch und in den Archiven sind die Dateien ohne Ordner abgelegt. Mit der folgenden Aufgabe bin ich hoffnungslos überfordert.
Also die zip-Archive heißen in etwa so
dimdideldum%2Fx%2FArchivirgendwie.zip
dimdideldum%2Fx%2FArchivirgendwieanders.zip
Die Aufgabe wäre nun
1. Archive umbenennen, d.h. vorne alles inklusive des zweiten %2F wegschneiden
2. Ordner erstellen mit jetzt gekürztem Namen (ohne .zip natürlich)
3. zip-Archive in jeweils passenden Ordner kopieren und extrahieren.
hätte da jemand ein Code-Schnipsel? Wäre super!
Gruß
Joachim
-- Dr.rer.nat. Jürgen Vollmer, Am Rennbuckel 21, D-76185 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de ------------------------------------------------------------------------------- Diese EMail ist elektronisch mittels GPG / PGP signiert. Diese elektronische Unterschrift ist in einem EMail-Anhang enthalten. Leider kann die Signatur ohne die Installation entsprechender Programme weder geprüft noch angezeigt werden. Mehr dazu unter: http://www.gnupg.org oder auch http://www.pgpi.org -------------------------------------------------------------------------------
das wäre aber nur ein Drittel der Miete. Damit wären die zip-Archive umbenannt aber dennoch fehlen dann die entsprechenden Ordner. Joachim Am 11.06.2017 um 15:24 schrieb Dr. Juergen Vollmer:
Hi
wie wär's mit
mmv - move/copy/append/link multiple files by wildcard patterns
einfach per zypper nachinstallieren
Jürgen
Am Sonntag, 11. Juni 2017, 14:09:54 CEST schrieb Joachim H.:
Moin,
ich habe ein Verzeichnis, in dem mehrere Tausend zip-Dateien liegen. Diese möchte ich per Script entpacken. Das kriege ich noch hin. Allerdings sind die zip-Dateinamen etwas kryptisch und in den Archiven sind die Dateien ohne Ordner abgelegt. Mit der folgenden Aufgabe bin ich hoffnungslos überfordert.
Also die zip-Archive heißen in etwa so
dimdideldum%2Fx%2FArchivirgendwie.zip
dimdideldum%2Fx%2FArchivirgendwieanders.zip
Die Aufgabe wäre nun
1. Archive umbenennen, d.h. vorne alles inklusive des zweiten %2F wegschneiden
2. Ordner erstellen mit jetzt gekürztem Namen (ohne .zip natürlich)
3. zip-Archive in jeweils passenden Ordner kopieren und extrahieren.
hätte da jemand ein Code-Schnipsel? Wäre super!
Gruß
Joachim
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
On Sun, 11 Jun 2017 14:09, Joachim H. wrote:
Moin,
ich habe ein Verzeichnis, in dem mehrere Tausend zip-Dateien liegen. Diese möchte ich per Script entpacken. Das kriege ich noch hin. Allerdings sind die zip-Dateinamen etwas kryptisch und in den Archiven sind die Dateien ohne Ordner abgelegt. Mit der folgenden Aufgabe bin ich hoffnungslos überfordert.
Also die zip-Archive heißen in etwa so
dimdideldum%2Fx%2FArchivirgendwie.zip
dimdideldum%2Fx%2FArchivirgendwieanders.zip
Die Aufgabe wäre nun
1. Archive umbenennen, d.h. vorne alles inklusive des zweiten %2F wegschneiden
2. Ordner erstellen mit jetzt gekürztem Namen (ohne .zip natürlich)
3. zip-Archive in jeweils passenden Ordner kopieren und extrahieren.
hätte da jemand ein Code-Schnipsel? Wäre super!
Mal, sehen, also erster Tipp: "man bash" suche nach "parameter#word" Im detail: [code] #!/usr/bin/bash # Name einer bekannten (benamten) Variable zuweisen # zuerst leeren. Nummer sicher ist nummer sicher! Ganzer_Zip_Name="" # bei einelner Datei: Ganzer_Zip_Name="dimdideldum%2Fx%2FArchivirgendwie.zip" # bei Verwendung in script / function als parameter test "$1" != "" && Ganzer_Zip_Name="$1" # Gibt die Datei ? test -s "$Ganzer_Zip_Name" || exit 1 # blah_fasel_%2Fx%2F weg ${param##word} Nur_Kurz_Name=${Ganzer_Zip_Name##*%2Fx%2F} # Endung weg ${param%word} Kurz_Ohne_Endung=${Nur_Kurz_Name%.zip} # Zielordner erstellen mkdir "$Kurz_Ohne_Endung" # zip in Zielordner auspacken (-d Zielordner) /usr/bin/unzip "$Ganzer_Zip_Name" -d "$Kurz_Ohne_Endung" # zip umbenennen + verschieben mv "$Ganzer_Zip_Name" "$Kurz_Ohne_Endung/$Nur_Kurz_Name" #EOF [/code] Q: nun kommt die Frage "...und wie anwenden?" A: am besten in einer Schleife als shell-script. 1. den code in eine Datei schreiben. 2. Die Datei im normalen $PATH speichern, vorzugsweise unter $USER/bin/ oder /usr/local/bin/ 3. executable-bit setzen (chmod a+x [Pfad/Datei]) 4. Aufrufen: (Datei hier Zip_Aufraeumen.sh genannt) 4.a) kleine Mengen via "for var in values; do cmd ; done": [code for use in shell] cd "Stammverzeichniss" for z in *.zip ; do Zip_Aufraeumen.sh $z ; done [/code] 4.b) große Massen via xargs. (man xargs, -P für gleichzeitige Prozesse) "ls |grep" um nur zip dateien zu bearbeiten [code for use in shell] cd "Stammverzeichniss" /usr/bin/ls -f1|/usr/bin/grep '\.zip$'|/usr/bin/xargs -r -L 1 -P 3 Zip_Aufraeumen.sh [/code] Hilft das auf die Sprünge? HtH, und schönen Sonntag noch, - Yamaban.
Moin Yamaban, Am 11.06.2017 um 16:03 schrieb Yamaban:
Hilft das auf die Sprünge?
ja, Klasse, genau das was ich suchte. Danke Joachim -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (3)
-
Dr. Juergen Vollmer
-
Joachim H.
-
Yamaban