Einführung in die Shell-Programmierung

Shells

Bourne Shell und Awk

Zusammenspiel

Erst im Zusammenspiel zwischen der Bourne-Shell und Awk wird die volle Leistungsfähigkeit der Skriptsprache Awk ersichtlich. Zum einen erweitert sie die Bourne-Shell um Funktionalitäten, die sonst fehlten, zum anderen hat man damit auch alle Kommandos des Betriebssystem rund um das Awk-Skript zur Verfügung.

Im folgenden einfachen Beispiel, sieh man, wie man recht einfach den "grep"-Befehl nachbauen kann:


#!/bin/sh

# searchtext: funktioniert ähnlich wie grep

if [ $# -gt 0 ]
then
Pattern="$1"
shift
else
echo >&2 "usage: $0 Pattern [file ...]"
exit 1
fi

#
awk -v key="$Pattern" '$0 ~ key' "$@"


Hinter der -v Option des Awk-Aufrufes können beliebig viele Parameter, wie z.B. in unserem Fall key an das Awk-Skript übergeben werden.

Substring in Bourne-Shell


In einer Bourne-Shell kann man keine Teilstrings aus einem String herausschneiden. Aber im Zusammenstpiel mit AWK ist es kein Problem, wenn man einmal von der recht kryptischen Schreibweise absieht.
Im folgenden Beispiel sollen von der Variablen "string" die ersten 5 Zeichen abgeschnitten werden, damit nur noch der Name "Mayer" übrigbleibt.
#!/bin/sh

string="2402 Mayer"
name=`echo $string | awk '{ print substr($0,5)}'`

echo $string, $name






© Copyright 2004 - 2008, Bodenseo, Linux-Kurse am Bodensee, Bernd Klein