Script zum Dateien entpacken

Post Reply
Message
Author
Bernd

Script zum Dateien entpacken

#1 Post by Bernd »

Hi,

als Linux-Neuling habe ich ein kleines Problem:

ich muss immer mal wieder eine bestimmte Datei entpacken: z.b: test010203.zip

ursprünglich hatte ich das mit der gleichen datei normal mit unzip entpackt: unzip -o test010203.zip -d /......usw

Da sich nun der Dateiname immer ändert könnte das auch ein Script übernehmen. Leider habe ich keine Ahnung wo ich da ansetze.

Bin für jeden Tipp dankbar.
Gruß
Bernd

rattengift

Re: Script zum Dateien entpacken

#2 Post by rattengift »

neue datei /usr/local/bin/NAME anlegen, inhalt:
#!/bin/sh
unzip -o $1 -d .

dann noch: chmod a+x NAME
das mit den optionen musst du halt anpassen, $1 ist der erste parameter, den du dem skript übergibst. wenn du mehrere parameter verwenden willst: $2, etc.

(am besten klappts als root <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> ).

da das skript so kurz ist, bietet sich auch ein alias an (dann brauchst du auch kein chmod...).
alias auspacken='unzip -d . -o'
(sofern die parameter so richtig sind -- ich kenne/verwende unzip nicht).

Bernd

Re: Script zum Dateien entpacken

#3 Post by Bernd »

Soweit gut mit der Variablen.

in meinem Verzeichnis stehen nun folgende dateien drin

test010203.zip
test010204.zip
test010205.zip

Ich wollte eigentlich immer nur die neueste datei entpacken.
Übrigens sind die Dateinamen der Nummer nach nicht aufsteigend. Als Merkmal das die Datei als die neueste kennzeichnet, wäre dann noch das neueste Datum der Datei.

Schon geht das los mit dem Problem !!??

rattengift

Re: Script zum Dateien entpacken

#4 Post by rattengift »

in diesem fall macht es natürlich keinen sinn, einen filenamen als parameter zu übergeben, denn das skript muss ja selber die datei ermitteln.
mit "ls --sort=time *.zip" gibst du die zip-files nach datum sortiert aus (die neuste zuerst). davon nimmst du einfach die erste.

rattengift

Re: Script zum Dateien entpacken

#5 Post by rattengift »

das script würde dann also etwa so aussehen
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
#!/bin/sh
set `ls -t $1.zip`

# in $1 steht jetzt die neueste datei

unzip $1
</font><hr></pre></blockquote>
mit aufruf "SKRIPT test*" entpackt er die neueste datei, wenn du den genauen namen angibst ("SKRIPT test010204") entpackt er genau diese.

Bernd

Re: Script zum Dateien entpacken

#6 Post by Bernd »

Hi,

Danke für die schnelle Hilfe.
Genau so habe ich mir die Lösung vorgestellt - Thanks

Bernd

Re: Script zum Dateien entpacken

#7 Post by Bernd »

Leider schlechte Nachrichten:

Wenn ich das Script sp laufen lasse, passiert leider nichts.

die ausgabe von ls -t lautet

.. . datei1.zip datei2.zip

Danach findet unzip $1 nicht mehr.

Bin nun völlig durch den Wind

Bernd

Re: Script zum Dateien entpacken

#8 Post by Bernd »

Hab noch mal gebastelt und bin dann doch noch fündig geworden:

script muss laute:

*********************************
#!/bin/sh

set `ls -t1A $1`

unzip $1
*********************************

Wenn ich mal gross bin, kapier ich das vielleicht auch noch.

Post Reply