Entpacken von mehreren .gz auf der Linux Konsole

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Antworten
Benutzeravatar
Beach
Lazarusforum e. V.
Beiträge: 37
Registriert: Di 2. Nov 2021, 22:41
OS, Lazarus, FPC: Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-win64-win32/win64
CPU-Target: 64Bit
Wohnort: Hunsrück

Entpacken von mehreren .gz auf der Linux Konsole

Beitrag von Beach »

Servus zusammen,
mir ist da irgendwie ein kleines mißgeschick passiert. Beim "Versuch" auf meinem VPS ein komplettes Verzeichnis (nenne es einfach mal "Stammverzeichnis") für ein Backup in eine Archiv Datei zu packen, habe ich stattdessen alle Dateien einzeln mit GZIP gepackt.
Bedeutet: In dem Verzeichnis sind viele Unterverzeichnisse in denen jeweils die einzelnen Dateien als GZIP Datei liegen.

Gehe ich in eins dieser Unterverzeichnisse kann ich mit

Code: Alles auswählen

gunzip -dr *.gz
Alle Dateien wieder entpacken. Superschlau wie ich manchmal bin, dachte ich das mit dem Schalter -r (rekursiv) das gleiche auch vom "Stammverzeichnis" aus funktionieren sollte. Tut es aber nicht.

Gibt nur eine Fehlermeldung "No such file or directory" da es hier ja nur die Unterverzeichnisse gibt.
Klar könnte ich das jetzt von Hand machen und in jedes Verzeichnis gehen und jedes einzeln entpacken.
Aber geht das nicht auch automatisch?
Vielleicht ist hier ja jemand Fit auf der Konsole :mrgreen:
MfG
Beach

Shit happens... Always in my shift

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Entpacken von mehreren .gz auf der Linux Konsole

Beitrag von Winni »

Hi!


Mach dir ein kleines Script:

Code: Alles auswählen

#!/bin/bash
stamm=/Der/Pfad/zum/Stamm

cd $stamm

find $stamm -name "*.gz" | while read fname
  do
  echo "Datei: $fname "
  gunzip -d "$fname"
  done
echo "Fertig"


Die Konstante "stamm" musst Du anpassen.
Das script muss executable sein, also

chmod 777 NameDesScripts

Die bash ist auch ne nette Programmiersprache ...

Winni

Benutzeravatar
Beach
Lazarusforum e. V.
Beiträge: 37
Registriert: Di 2. Nov 2021, 22:41
OS, Lazarus, FPC: Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-win64-win32/win64
CPU-Target: 64Bit
Wohnort: Hunsrück

Re: Entpacken von mehreren .gz auf der Linux Konsole

Beitrag von Beach »

Danke für die schnelle Antwort.
Dachte das man, wenn man mit -r Rekursiv durch alle Verzeichnisse GZIPpen kann, das man es genauso auch wieder entGZIPpen kann. Scheinbar ein Denkfehler.

Hab dein Script nun mit Nano erstellt, die Variable stamm angepasst, als all.sh gespeichert.
CHMOD auf 777
CHOWN auf www-data:www-data (liegt alles im Webverzeichnis)

Dann das Script mit all.sh aufgerufen und........

Geht nit.

Code: Alles auswählen

-rwxrwxrwx  1 www-data www-data   186 Jan  4 19:48 all.sh
root@vServer:/var/www/cloud/data/Beach/files/recipes# all.sh
-bash: all: command not found
OK. Nach einigem Rätseln bin ich dann drauf gekommen das der Aufruf über ./all.sh erfolgen muß.
Nun klappt es auch wie gewünscht.
Nur muß man dann die Nextcloud anschließend alle Files neu scannen lassen. Das hat mich noch ganz schön verwirrt.
MfG
Beach

Shit happens... Always in my shift

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Entpacken von mehreren .gz auf der Linux Konsole

Beitrag von Winni »

Hi!

Na siehste - bischen bash-Programmierung kann nie schaden!

Und als ewige Weisheit mit auf den Weg:

Es gibt keine Cloud.
Es gibt nur Rechner, die anderen Menschen gehören.

Winni

Benutzeravatar
six1
Beiträge: 782
Registriert: Do 1. Jul 2010, 19:01

Re: Entpacken von mehreren .gz auf der Linux Konsole

Beitrag von six1 »

Wieso soll es keine Cloud geben, wenn es doch auch den Osterhasen gibt Winni? :lol:
Gruß, Michael

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Entpacken von mehreren .gz auf der Linux Konsole

Beitrag von theo »

Natürlich gibt es eine Cloud.
Wie sollte Google sonst in euren privaten Daten (Google Drive) herumwühlen? :mrgreen:

Antworten