Notice: Undefined index: string in /var/www/stefan/howtux.de/htdocs/article.php on line 49

Notice: Undefined index: settings in /var/www/stefan/howtux.de/htdocs/article.php on line 61
Home / awk / Stringfunktionen in awk

Stringfunktionen in awk

Kategorie: awkErstellt: 02.10.2007 - 23:58 Geändert: 01.10.2014 - 11:16
Autor: Stefan Boeke
0awk verfügt über folgende stringbezogene built-in Funktionen:

Einige Stringfunktionen von awk:
gensub(r, s, h [, t])
Ersetzt einige oder alle Vorkommen eines einem reg. Ausdruck entsprechenden Teilstrings. Das entspricht dem substitute im sed bzw. vi.

gsub(r, s [, t])
Macht dasselbe wie gensub, nimmt die Ersetzung aber direkt im entsprechenden Feld vor und liefert die Anzahl vorgenommener Ersetzungen.

index(s, t)
Liefert die Position der Zeichenkette t in s, bzw. 0, wenn t nicht in s enthalten ist.

length([s])
Liefert die Länge von s. Ohne Angabe von s erhält man die Länge des Eingabesatzes $0

match(s,r)
Liefert die Position in s, ab der der reguläre Ausdruck r paßt, anderenfalls 0. Diese Funktion wird häufig dazu genommen, in einem Suchmuster zu bestimmen, ob ein Feld einem reg. Ausdruck entspricht. Beispiel:
awk -F: 'match($7,"/bin/bash")' /etc/passwd

split(s,a,[, r])
Zerlegt den String s in ein Array a und liefert die Anzahl Teilstrings. Die Zerlegung erfolgt an Hand des reg. Ausdrucks r. Falls dieser weggelassen wird, verwendet awk den Inhalt der Variable FS

sprintf(Format, Ausdrucksliste)
Liefert formatierte Ergebnisse der Ausdrücke als String.

sub(r, s [, t])
wie gsub, nimmt aber nur die erste Ersetzung vor.

substr(s, i [, n])
Liefert den n Zeichen langen Teilstring von s ab Position i. Wird n weggelassen, so erhält man den Rest von s ab Position i.


Beispiel: Stringfunktionen in awk

#!/usr/bin/awk -f
# Dateiname: awk_5

{
print substr($1,1,3) " Länge:" length($1);
}

stefan@troubadix/home/stefan$ awk -f awk_5 schausteller
...
Wag Länge:6
Wal Länge:7
Wam Länge:7
Wal Länge:7
Zor Länge:4

Beispiel: Suchen und ersetzen

#!/usr/bin/awk -f
# Ersetze erstes A der Zeile durch B

{
print sub("A","B",$1);
}


Notice: Undefined variable: urli in /var/www/stefan/howtux.de/htdocs/classes.php on line 240
Bookmark auf del.icio.usBookmark auf Mister WongBookmark auf BlinklistBookmark auf GoogleBookmark auf LinkarenaBookmark auf YiggBookmark auf FolkdBookmark auf Yahoo
Home / awk / Stringfunktionen in awk
simplum