SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

GUIDES UND TUTORIAL

Konstante, Variable, Sätze und Felder

awk kennt keine echten Datentypen, es wird nur mit Strings gearbeitet. Diese werden allerdings als Zahlen aufgefaßt, wenn das imZusammenhang sinnvoll ist.
  • Soll die Auswertung als Zahl erzwungen werden, so addiert man eine 0 (string + 0).
  • Soll die Auswertung als String erzwungen werden, so hängt man einen Leerstring an (zahl "").

Konstante

Zwei Arten von Konstanten können auftreten:
  • String-Konstante
    Eine Zeichenkette in Gänsefüßchen eingeschlossen. Im Gegensatz zur Shell findet keine Interpretation statt. So können auch die üblichen Escape-Sequenzen benutzt werden.
  • numerische Konstante
    Hierunter versteht man in diesem Zusammenhang alle ganzen Zahlen und Gleitkommazahlen wie 3.14 oder 1.6021892e-19. Intern werden alle Zahlen als Gleitkommazahlen gespeichert. Die Genauigkeit ist natürlich maschinenabhängig.

Variable

awk verwendet dynamische Variable. Diese brauchen nicht deklariert zu werden und können Strings oder Gleitkommawerte enthalten. Variablen können sowohl Strings, als auch numerische Werte beinhalten. Es muß ihnen kein expliziter Datentyp zugeordnet werden. Während eines Programmablaufs kann dieselbe Variable sowohl Strings, als auch numerische Werte speichern. Der Typ einer Variablen wird immer aus dem Kontext bestimmt. Hierbei werden ggf. Umwandlungen gemäß OFMT vorgenommen. Jede Variable wird mit einem Nullstring bzw. mit Null initialisiert. In Ausdrücken können 3 Arten von Variablen verwendet werden:
  • vom Benutzer gewählte Variablen
    Variablen können aus Buchstaben, Ziffern und Unterstrich bestehen. Das erste Zeichen muß ein Buchstabe oder der Unterstrich sein!
  • Feld-Variablen
    Feld-Variablen setzen sich aus $ und der Feldnummer zusammen. In $0 wird aktuelle Eingabezeile (Rekord) abgelegt. $0 ist oft voreingestelltes Argument bei Funktionen, beispielsweise bei print. Der aktuelle Record wird gemäß FS (Feldtrennzeichen) in die Felder $1...$NF zerlegt (NF - Anzahl der Felder des Satzes).
    Feld-Variablen können genau so wie andere Variablen behandelt werden, insbesondere können ihnen auch neue Werte zugewiesen werden. Diese Zuweisungen beeinflussen $0 und NF!
    Feld-Variablen können auch unter Verwendung von Ausdrücken angegeben werden: $(NF-1) ist beispielsweise das vorletzte Feld der Eingabezeile.
  • built-in Variablen
    Built-in Variablen sind Variablen die awk zur Verfügung stellt und mit Werten belegt. Sie geben Auskunft über den momentanen Programmzustand (siehe 9.3.3).

Sätze

Sätze entsprechen normalerweise Zeilen, sie werden also durch das LF voneinander getrennt. Man kann aber auch durch Setzen der speziellen Variable RS einen anderen Satztrenner festlegen. Wird RS mit einer leeren Zeichenkette belegt, so werden Sätze durch Leerzeilen getrennt.
Beim Lesen eines Satzes wird dieser von awk in Felder zerlegt. Die Trennung erfolgt normalerweise durch Whitespace (Leerzeichen oder Tabulatoren), kann aber durch Setzen der Variable FS anders geregelt werden. Wird FS mit einer leeren Zeichenkette belegt, so wird aus jedem einzelnen Zeichen ein Feld.
Enthalten RS und FS mehr als ein Zeichen, so wird ihr Inhalt als regulärer Ausdruck aufgefaßt. Oft findet man auch awk-Aufrufe folgender Gestalt:
                                        awk -v 'FS=^\"?|\"?,\"?|\"?$' '{print $3, $2}' datei
                                        
Hier wird die Zuweisung der Variable FS auf der Kommandozeile vorgenommen. Der oben angegebene Ausdruck zerlegt CSV-Dateien, wie sie von Excel oder dBase exportiert werden, in einzelne Felder.

Arrays (Vektoren)

awk verfügt über ein- und mehrdimensionale Vektoren. Diese weisen zwei Besonderheiten auf:
  • Die Größe eines Vektors muß nicht explizit angegeben werden. Neue Elemente werden einfach eingefügt. Elemente werden durch ihren Index bestimmt. Existiert ein Index noch nicht, so wird dieser mit entsprechendem Wert in den Vektor eingetragen.
  • Neben den einfachen Strings kennt awk noch assoziative Arrays. Die Indizes eines solchen Arrays sind Strings, z. B. a["Fred"] = "Feuerstein".

Ein Vektorelement wird durch vektor [index] angesprochen oder initialisiert.

Beispiel: Zählen von Worten

                                        	{
                                        	gsub(/[.,:;!?(){}-+]/,"")   # Interpunktionszeichen weg 
                                        	for (i=1 ; i<=NF ; i++)
                                        		feld[i]=feld[i]+1 
                                        	}
                                        END {
                                             for (i in feld)
                                               print i, feld[i]
                                             }
                                        
Mehrdimensionale Vektoren verhalten sich wie eindimensionale Vektoren. Intern werden sie zu solchen mit Hilfe von SUBSEP umgeformt. Die Indizes werden durch Kommata voneinander getrennt. Im Zusammenhang mit Operatoren sollten die Tupel mit runden Klammern eingeschlossen werden, z. B.:
                                        	if ((i,j,k) in vektor)
                                        

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere