# Skript 15: definierten Zeilenbereich ausgeben
# Version 1
if [ $# -ne 3 ] ; then
echo "Usage: $0 datei ab bis" 1>&2
echo " Gibt die Zeile <ab> bis Zeile <bis> der Datei <$0> aus" 1>&2
echo " datei -> Datei, aus der die Zeilen angezeigt werden sollen" 1>&2
echo " ab -> Zeile, ab der angezeigt werden soll (mindestens 1)" 1>&2
echo " bis -> Bis zur wievielten Zeile (inklusive) ausgeben?" 1>&2
exit 1
# Ist es eine normale Datei
if [ ! -f "$1" ] ; then
if [ -d "$1"] ; then
# Nein, es ist ein Verzeichnis
# Fehler auf die Fehlerausgabe
echo "Verzeichnis angeben" >&2
exit 1
elif [ -c "$1"] ; then
# Ein Device
echo "Device angeben" >&2
exit 1
else
echo "Ungültiger Dateiname, es ist ein Device" >&2
exit 1
fi
else
# Ist ein Datei
datei=$1
exit 1
fi
fi
# Variablen zuweisen
datei=$1
ab=$2
bis=$3
# Berechne die letzte Zeile, die mit head auszugeben ist:
# anz = bis -ab +1
anz=`expr $bis - $ab + 1`
#
# Anzeigen der gewuensschten Zeilen
#
head -$bis "$datei"| tail -$anz
exit 0