T
Thanquol
Grünschnabel
Hiho Scripter
ich stehe gerade vor folgender Situation:
Ich habe ca 50 Ordner, in diesen Ordnern gibts 2 Unterordner und darin ist jeweils eine .rar Datei (evtl. auch mehrere) die ich gerne script-technisch entpacken möchte.
Mittels dem Schnippsel was ich durch die Suche bereits finden konnte klappt das entpacken wenn ich direkt in dem letzten Ordner drin bin.
Nun würd ich das ganze aber im obersten Ordner starten, der durchläuft dann rekursiv alle Unterordner und führt den unrar Befehl dort aus.
Hat jemand einen tip für mich wie man das am besten realisiert?
OS = gentoo, 32Bit Intel Xeon Umgebung
Danke für eure hinweise!
Mfg,
Flo
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
ok bin doch noch fündig geworden
geht zwar sicher einfacher aber es klappt:
find /mnt/sdb/PATH.../ -type d | ./entpacken.sh
das einzig "blöde":
wenn die Variable Passwort leer ist, bekomm ich hier eine Fehlermeldung:
if [ $password != "" ] ...
aber es tut was ich will!
gn8!
Flo
ich stehe gerade vor folgender Situation:
Ich habe ca 50 Ordner, in diesen Ordnern gibts 2 Unterordner und darin ist jeweils eine .rar Datei (evtl. auch mehrere) die ich gerne script-technisch entpacken möchte.
Mittels dem Schnippsel was ich durch die Suche bereits finden konnte klappt das entpacken wenn ich direkt in dem letzten Ordner drin bin.
Code:
for file in *.rar; do
unrar x -ad -o- "${file}" && echo "File konnte erfolgreich entpackt werden" && rm -f ${file} || echo "File konnte nicht erfolgreich entpackt werden"
done;
Nun würd ich das ganze aber im obersten Ordner starten, der durchläuft dann rekursiv alle Unterordner und führt den unrar Befehl dort aus.
Hat jemand einen tip für mich wie man das am besten realisiert?
OS = gentoo, 32Bit Intel Xeon Umgebung
Danke für eure hinweise!
Mfg,
Flo
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
ok bin doch noch fündig geworden
geht zwar sicher einfacher aber es klappt:
find /mnt/sdb/PATH.../ -type d | ./entpacken.sh
Code:
#!/bin/bash
while read pfad
do
cd $pfad
echo "PFAD: $pfad"
password=""
if [[ "$pfad" =~ Kriterium1 ]]
then password="pass1"
fi
if [[ "$pfad" =~ Kriterium2 ]]
then password="pass2"
fi
if [ $password != "" ]
then password=-p$password
fi
echo "PASS: $password"
for file in *.rar; do
unrar x -p- $password -o- ${file} && echo "File konnte erfolgreich entpackt werden" || echo "File konnte nicht erfolgreich entpackt werden"
done;
done
das einzig "blöde":
wenn die Variable Passwort leer ist, bekomm ich hier eine Fehlermeldung:
if [ $password != "" ] ...
aber es tut was ich will!
gn8!
Flo
Zuletzt bearbeitet: