Unix / Linux Shellscript-Kurzreferenz - Awk
| awk | Der "awk" ist derart leistungsfähig, daß man ihn schon als eine kleine Programmiersprache bezeichnen kann. Intern kann man ihn in drei Segmente unterteilen: BEGIN{}, {} und END{}. Nur das mittlere bearbeitet die Datei oder den Datenstrom Zeile für Zeile. Der Funktionsumfang des "awk" füllt leicht ein ganzes Kapitel. Sehr nützlich zum Extrahieren von Datenfeldern in strukturierten Listen:
# Nimm das letzte Feld ($NF) aus der durch das
# Trennzeichen "/" definierten Liste (-F/). Gebe aus dem
# vollständigen Pfad nur den Dateinamen netdate aus
echo "/usr/sbin/netdate" | awk -F/ '{print $NF}'
# Man kann damit auch Mail-Aliases automatisch erzeugen
# Ignoriere alle UID's kleiner als 500
awk -F: '\
{
if($5~" "&&$3>499)
{
gsub(" ",".",$5);
print $5": "$1
}
}' /etc/passwd > /etc/aliases
newaliases
Variablen (Auswahl):
Var Descr Default
-----------------------------------------
FS Feldseparator " "
NF Anzahl Felder
NR Nr des aktuellen Datensatz
OFMT Ausgabeformat
OFS Ausgabe Feldseparator " "
ORS Ausgabe Datensatzseparator \n
RS Datensatzseparator
Funktionen (Auswahl):
Ret Function Descr
---------------------------------------------------------------
break, exit Schleifenabbruch
continue, next Neuer Schleifendurchlauf
int gsub("search","replace",var) Suchen / Ersetzen
int length(String) Stringlaenge
int match(haystack,needle) Suchen
int split(String,Array,string sep) Splitten
string strftime(Format, Unix-TS) Zeitausgabe (date)
string substr(String,pos,count) Teilstring
int systime() Unix-Timestamp (TS)
string tolower Kleinbuchstaben
string toupper Grossbuchstaben
|
Letzte Änderung: 2019-02-17
Pflichthinweis nach EU-Verordnung 2016/679 des Europäischen Parlaments und des Rates vom 27. April 2016: Diese Website verwendet Cookies für eine bestmögliche Funktionalität und setzt bei Bedarf auch solche von Drittanbietern. Durch die Nutzung dieser Website erklären Sie sich mit der Nutzung von Cookies einverstanden.
OK•
Cookies ablehnen•
Mehr Infos...
Cookies sind kleine Textschnipsel, die zwischen Browser und Webserver ausgetauscht werden. Sie dienen dazu, die Funktionalität dieser Website zu verbessern. Beispielsweise wir dadurch dieser Hinweis nicht immer wieder eingeblendet, wenn Sie auf dieser Website unterwegs sind und Sie der Verwendung von Cookies bereits zugestimmt haben. Die Verwendung von Cookies kann in Ihrem Browser abgeschaltet werden. Dies geht jedoch auf Kosten des Komforts bei der Benutzung dieser Website. Hinweise zum Abschalten der Verwendung von Cookies finden Sie in der Hilfedatei Ihres Browsers.