Awk: Übungen: Bedingungen

Aus Wikibooks


Erläuterungen
Schwierigkeitsgrad der Übungen:
... sehr einfach ... ein bisschen schwieriger
Lösungen:

Die Links zu den Lösungen sind per Link-Bild realisiert. Im Gegensatz zu den üblichen Wikibooks-Gepflogenheiten gelangen Sie durch einen Klick auf das Symbol zur entsprechenden Lösungsseite.



Gegeben sind einige Daten von U-Träger-Profilen in der Datei utraeger.txt:

U100          14      205       30
U120          17      365       43
U140          20      600       63
U160          24      930       85
U180          28      1350      110 

mit

  • Spalte 1 ... Kurzzeichen
  • Spalte 2 ... A, Querschnittsfläche in cm2
  • Spalte 3 ... Ix, axiales Flächenmomente 2. Grades in cm4
  • Spalte 4 ... Iy, axiales Flächenmomente 2. Grades in cm4

Vergleichsoperatoren und Verknüpfungen[Bearbeiten]

Aufgabe
A10 Für eine konstruktive Aufgabe wird ein U-Träger-Profil mit folgenden minimalen axialen Trägheitsmomenten 2. Grades gefordert:
  • Ix min = 850cm4
  • Iy min = 35cm4

Erstellen sie ein awk-Skript, welches den optimalen U-Träger-Querschnitt aus der Datei utraeger.txt auswählt. Das awk-Skript soll den entsprechenden Datensatz vollständig auf die Standardausgabe schreiben. Als optimal wird der U-Träger mit der festigkeitsmäßig kleinstmöglichen Querschnittsfläche angesehen. Die Datei utraeger.txt ist bereits entsprechend den Querschnittswerten aufsteigend sortiert.

Hinweise: Die Anweisung exit beendet das awk-Skript und ein Semikolon oder ein Zeilenvorschub trennt mehrere Anweisungen innerhalb einer Aktion, z.B. {print $0; exit}.


Leere Bedingung[Bearbeiten]

Aufgabe
A20
  1. Erstellen Sie ein awk-Skript, das alle Trägerprofil-Kurzzeichen aus der Datei utraeger.txt auf die Standardausgabe schreibt.
  2. Wie muss die awk-Anweisung aussehen, damit die gleiche Ausgabe in die Datei ukurz.txt umgeleitet wird?


BEGIN und END[Bearbeiten]

Aufgabe
A30 Gegeben ist die Datei bsp.awk:
BEGIN {print "U-Traeger:"}
$2 < 20 {print $0}
END {print "--- ENDE ---"}

Welches Resultat liefert die Ausführung dieses Skriptes mittels awk -f bsp.awk utraeger.txt?


Bereiche[Bearbeiten]

Aufgabe
A40 Erstellen sie awk-Skripte, welche alle U-Trägerprofile
  1. mit einer Querschnittsfläche zwischen 17 cm² und 24 cm²
  2. U120 bis U160

aus der Datei utraeger.txt auflisten.