Login
Newsletter

Thema: Automagisches Entpacken

11 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Thomas Weibel am Mi, 22. März 2000 um 13:17 #
nettes wortspiel im titel (ist das beabsichtigt? g und t liegen auf der tastatur ja ziemlich nahe beieinander). ansonsten hilfreiches, kleines script!
[
| Versenden | Drucken ]
0
Von Bernd Mueller am Do, 23. März 2000 um 13:03 #
Hallo,

tar -xvI $1 macht das selbe wie bunzip2 -c $1 tar xv

aber ansonsten nettes script.

bye
/ Bernd /

[
| Versenden | Drucken ]
  • 0
    Von Viktor Leis am Do, 23. März 2000 um 15:37 #
    Das geht aber nicht mit allen tar Versionen. Bei Debian 2.2 geht es z.B. nicht.

    --
    CU, VL

    [
    | Versenden | Drucken ]
    0
    Von Anonymous am Do, 23. März 2000 um 20:04 #
    ...ins Skripten wäre es Gewinn an Stil, die langen Optionen zu benutzen, sie sind so meist besser lesbar und in Skripten muß man es ja nur einmal tippen...

    rsync -aPvz ... na was mag das wohl machen?

    rsync --archive --partial --progress --verbose --compress ... werde ich auch in 3 Monaten noch verstehen, wenn ich mal wieder ins Skript gugge...

    [
    | Versenden | Drucken ]
    0
    Von Bernd Mueller am Mo, 27. März 2000 um 08:30 #
    Moin,

    ich hab grad nachgesehen, ich hab 1.13.17 ( auf Red Hat 7 ) laufen. Damit geht es.

    bye
    / Bernd /

    [
    | Versenden | Drucken ]
0
Von Anonymous am Sa, 25. März 2000 um 09:18 #
Als Fragment hier eine Möglichkeit, die ohne temporäre Files auskommt:
(Ich hoffe, die Zeilen werden nachher nicht so zerhackt wie hier im Eingabeformular...)

FILETYPE=$(file "$f");

echo $FILETYPE | grep -q "gzip compressed data\|compress\'d data" && opt=--u
echo $FILETYPE | grep -q "bzip2 compressed data" && opt=--bzip2;

tar $opt -tvf $f

[
| Versenden | Drucken ]
0
Von Jochen am Mo, 27. März 2000 um 14:23 #
Noch ein Wort zu den Temporär-Dateien:

Wenn man sie denn verwenden will, sollte man seine Skripte so schreiben, dass sie sie auch löschen, wenn das Skript mal mittels kill abgeschossen wird, und dass zweitens zwei parallel laufende Instanzen des Skripts sich nicht in die Quere kommen. Schliesslich befinden wir uns auf einem Multiuser/Multitasking-OS, da kann so was schon mal vorkommen.

Als Dateinamen würde ich vorschlagen, "/tmp/gzip.$$" und "/tmp/bzip.$$" zu verwenden, dann hängt die Shell ihre PID an die Dateinamen an. Da jeder Prozess eine eindeutige PID hat, sollten auch die Dateien eindeutig sein.

Als erste Zeile des Skriptes (auf jeden Fall vor den file-Aufrufen) sollte man die folgende Zeile einsetzen:

trap 'rm -f /tmp/gzip.$$ /tmp/bzip.$$' 0

Dieses Kommando führt die Shell beim Beenden durch - egal, ob sie einfach ans Ende des Skripts gekommen ist, auf ein "exit"-Statement gelaufen ist oder mittels kill abgeschossen wurde. Dann kannman sich die letzten beiden rm-Calls auch sparen.

[
| Versenden | Drucken ]
0
Von gnu128 am Do, 27. April 2000 um 04:48 #
hmm. warum nich einfach:

bzcat $1 | tar xv

gruss
das gnu

[
| Versenden | Drucken ]
0
Von Anonymous am Do, 27. April 2000 um 09:39 #
Ich hab' schon lange folgende
kleine Funktion im .bashrc.
Nicht besonders elegant, aber
sehr praktisch.


function t () {
if [ ! -e "$1" ]; then
echo 'no such file'
elif echo "$1" | grep -s '\.g\?[zZ]$' ; then
zcat "$1" | less
elif echo "$1" | grep -s '\.\([1-9]\|man\)$' ; then
nroff -man "$1" | less
elif echo "$1" | grep -s '\.pgp$' ; then
pgp "$1"
filename=`dirname "$1"`
less $filename/`basename "$1" '\.pgp'`
rm -i $filename/`basename "$1" '\.pgp'`
else
less $1
fi
}

[
| Versenden | Drucken ]
0
Von Anonymous am So, 18. Juni 2000 um 09:40 #
hmm...heisst das wirklich "if test..." ???
[
| Versenden | Drucken ]
0
Von Ruu am Mo, 14. Juli 2008 um 15:00 #
wie wärs mit unp ?
[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten