| |
|
GUIDES UND TUTORIAL |
|
|
|
|
|
Eingebaute Variable
awk verfügt über einige eingebaute Variable. Die wichtigsten davon
sind:- ARGC
- Anzahl der Befehlszeilenparameter
- ARGV
- Array der Befehlszeilenparameter. Die Indizes laufen von 0 bisARGC-1. Durch ändern von ARGV kann man vom Skript aus weitere Dateienöffnen.
- CONVFMT
- Das voreingestellte Format für Zahlen. Standardwert ist "%.6g".
- ENVIRON
- Stellt die Umgebungsvariablen als assoziatives Array zur Verfügung. Z.B.
liefert ENVIRON["HOME"] unser Homerverzeichnis.
- ERRNO
- Text zum letzten aufgetretenen Fehler bei einer Dateioperation
- FIELDWIDTHS
- Wenn man diese Variable mit einer durch Leerzeichen getrennten Liste von
Zahlen füllt, so werden die Felder nicht durch die in FS angegebenen
Trennzeichen, sondern an den entsprechenden festen Positionen getrennt.
- FILENAME
- Name der aktuellen Eingabedatei.
- FNR
- Die Nummer des aktuellen Eingabesatzes. Ein awk '{print FNR, $0}'
liefert ein Listing mit Zeilennummern.
- FS
- legt die Trennzeichen für die Felder in einer Eingabezeile (= Record, siehe RS)
fest; Voreinstellung: " ".
FS kann ein Einzelzeichen, ein regulärer Ausdruck oder ein leerer String sein.
Im letzten Fall ist jedes Einzelzeichen ein eigenes Feld.
- IGNORECASE
- Hat diese Variable einen von Null verschiedenen Wert, so werden alle
Stringvergleiche, das Trennen der Eingabe mit FS bzw. RS und
die Auswertung regulärer Ausdrücke unabhängig von Groß- bzw. Kleinschreibung
vorgenommen.
- NF
- Liefert die Anzahl Felder im aktuellen Eingabesatz.
- NR
- Anzahl der bisher gelesenen Eingabezeilen.
- OFMT
- Das Standard-Ausgabeformat für Zahlen. Voreingestellt ist "%.6g"
- OFS
- Das Feldtrennzeichen für die Ausgabe. Voreingestellt ist ein Leerzeichen.
- ORS
- Das Satztrennzeichen für die Ausgabe. Voreingestellt ist LF.
Braucht man Zeilenenden im DOS-Format (CR+LF), kann man das (unter anderem)
mit dem awk erledigen: awk -v 'ORS=\r\n' '{print $0}'
- RLENGTH
- Länge der Zeichenkette, die durch den letzten Aufruf der Funktion
match gefunden wurde.
- RS
- Trennzeichen zwischen einzelnen Eingabezeilen; Voreinstellung: "\n"
RS kann ein Einzelzeichen, ein regulärer Ausdruck oder ein leerer String sein.
Im letzten Fall werden die einzelnen Sätze durch Leerzeilen getrennt.
- RSTART
- Anfangsposition der Zeichenkette, die durch den letzten Aufruf der
Funktion match gefunden wurde
- SUBSEP
- Trennzeichen für die Indizes "mehrdimensionaler"
Felder; Voreinstellung: "\034"
|
|
|
|
|
|