Inhalt einer zip datei umbenennen

22/07/2014 - 16:44 von Jan Novak | Report spam
Hallo,

ich habe eine tiefe Verzeichnissstruktur, in welcher nur zip Dateien
liegen, in welcher jeweils nur eine Datei steckt.
Nun möchte ich die gepackte Datei beim Auspacken so nennen, wie die Zip
Datei heisst, jedoch mit einer anderen Endung (txt)

Mein Ansatz ist dieser (welcher aber die datei nicht umbenennt):


find . -name "*.zip" | while read filename
do
mdir=$(dirname $filename)
unzip -o $filename -d $mdir
done;


Jan
 

Lesen sie die antworten

#1 Juergen P. Meier
22/07/2014 - 19:00 | Warnen spam
Jan Novak :
Hallo,

ich habe eine tiefe Verzeichnissstruktur, in welcher nur zip Dateien
liegen, in welcher jeweils nur eine Datei steckt.



Solange das eingehalten wird, funktioniert das leiche modifizierte
Script unten.

Nun möchte ich die gepackte Datei beim Auspacken so nennen, wie die Zip
Datei heisst, jedoch mit einer anderen Endung (txt)



Also foo.txt anstelle von foo.zip?

Mein Ansatz ist dieser (welcher aber die datei nicht umbenennt):

find . -name "*.zip" | while read filename
do


output="${filename%.zip}.txt"
mdir="$(dirname $filename)"


cd "$mdir"
unzip -p "$filename" >"$output"
done;



Das mit dem -p >outfile funktioniert wirklich nur dann, wenn nur eine
Datei im ZIP file steckt.

HTH,
Juergen
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)

Ähnliche fragen