28.11
2006

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"    shiftelse    echo >&2 "usage: $0 Pattern [file ...]"    exit 1fi

# 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

powered by performancing firefox

Drucken PDF

Switch to our mobile site