Shells: Tutorial


* Einführung * Installation * Paketmanager * Grundlagen * Shells * Entwicklung * KDE * Skriptsprachen * AWK * PHP * Perl * Apache * Veranstaltungen * Schulungen * Bücher * Netzwerk * OpenOffice * OpenSource * Samba

Shells


© <a href="http://www.fotolia.de/p/29003">Ljupco Smokovski</a> - FOTOLIA
Home
Erste Schritte mit der Bourne-Shell
Dateien zeilenweise zusammenfügen
Head or Tail
Schleifen und Zählen
Shell-Variablen
Pipes
Sortieren von Daten
Wer sucht der findet!
Praktische Shell-Skripte
Rechtschreibung
Schleifen und elegant Zählen
Texte formatieren mit fmt und fold
Umlenkung der Ein- und der Ausgaben
Klammer-Erweiterung
Verknüpfen von Textdateien mittels Schlüsselfeldern
Mit freundlicher Unterstützung von:

Linux-Kurse und Seminare Linux Kurse
Veranstalter des
Linux-Tag
am Bodensee
2007 und 2008

Kontakt
Haftung
Impressum
Problem Hilfe Startseite


Praktische Shell-Skripte

Man hat eine Menge von Dateien, die in mehrere zip-Dateien verpackt werden sollen, die jeweils nicht größer als 2 MByte sein dürfen. Dieses Problem taucht in der Praxis beispielsweise auf, wenn man das Programm Gallery, ein Open Source Photalbum, benutzt. Dort kann man entweder einzelne Bilder hochladen oder ein gezipptes File mit mehreren Bildern, aber in der Default-Einstellung darf kein Bild und keine Zip-Datei größer als 2 MByte sein.

Das folgende Skript erzeugt Zip-Dateien mit den Namen p0.zip, p1.zip, p2.zip usw. Die Zip-Dateien werden iterativ erzeugt, d.h. in jedem Schritt wird ein weiteres Bild hinzugefügt, aber nur, wenn die Größe des neuen Bildes plus die des vorherigen Zip-Files nicht größer als 2000 kBytes ist.


#!/bin/sh
# 

counter=0
for i in *.JPG
do 
    echo $i
    zip_name=`echo p${counter}.zip`
    size=`ls -s  $zip_name | cut -d' ' -f1`
    fsize=`ls -s  $i | cut -d' ' -f1`
    size=`expr $size + $fsize`


    echo $size
    if [ $size -gt  2000 ]
    then
	counter=`expr $counter + 1`
	zip_name=`echo p${counter}.zip`
	if [ -f $zip_name ]
	then
	    rm $zip_name
	fi
    fi
    zip  $zip_name $i
done
© Copyright 2007 - 2010, Bernd Klein mit freundlicher Unterstützung von Bodenseo, Linux-Kurse und Schulungen,
Foto linke Seite (Mann mit Strick und Colt): Foto: © Ljupco Smokovski, fotolia 984022