Aufgaben Bash while: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
= Aufgabe 1 = | = Aufgabe 1 = | ||
| − | + | ||
| − | + | * Programmieren Sie einen Counter der hochzählt. | |
| − | + | ||
| − | + | = Aufgabe 2 = | |
| − | + | ||
| − | *Programmieren Sie einen Counter der hochzählt. | + | * Programmieren Sie einen Counter der hochzählt und nur ungerade Zahlen ausgibt. |
| − | =Aufgabe | + | |
| − | *Programmieren Sie einen Counter der hochzählt und nur ungerade Zahlen ausgibt. | + | = Aufgabe 3 = |
| − | =Aufgabe | + | |
| − | *Erstellen Sie ein Programm welches die Datei /etc/passwd einliest und die Felder in umgekehrter Reihenfolge ausgibt. | + | * Erstellen Sie ein Programm welches die Datei /etc/passwd einliest und die Felder in umgekehrter Reihenfolge ausgibt. |
| + | |||
| + | <syntaxhighlight lang=bash> | ||
| + | #!/bin/bash | ||
| + | |||
| + | while read l | ||
| + | do | ||
| + | |||
| + | echo $l | awk -F ":" '{print $7":"$6":"$5":"$4":"$3":"$2":"$1}' | ||
| + | |||
| + | done < /etc/passwd | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | = Aufgabe 4 = | ||
| + | |||
| + | * Erstellen Sie dasselbe Programm unter Verwendung von '''awk''' | ||
| + | * '''awk''' soll dabei nie explizit die Anzahl der Felder gesagt bekommen, da es in der awk-Variable ''NF'' (Number of Fields) vorhanden ist | ||
| + | |||
| + | <syntaxhighlight lang=bash> | ||
| + | |||
| + | #!/bin/bash | ||
| + | |||
| + | while read l | ||
| + | do | ||
| + | |||
| + | echo $l | awk -F ":" '{ | ||
| + | i = NF | ||
| + | while (i > 0) { | ||
| + | printf $i":" | ||
| + | i-- | ||
| + | } | ||
| + | printf "\n" | ||
| + | }' | ||
| + | |||
| + | done < /etc/passwd | ||
| + | </syntaxhighlight> | ||
Version vom 2. Juni 2023, 07:21 Uhr
Aufgabe 1
- Programmieren Sie einen Counter der hochzählt.
Aufgabe 2
- Programmieren Sie einen Counter der hochzählt und nur ungerade Zahlen ausgibt.
Aufgabe 3
- Erstellen Sie ein Programm welches die Datei /etc/passwd einliest und die Felder in umgekehrter Reihenfolge ausgibt.
#!/bin/bash
while read l
do
echo $l | awk -F ":" '{print $7":"$6":"$5":"$4":"$3":"$2":"$1}'
done < /etc/passwd
Aufgabe 4
- Erstellen Sie dasselbe Programm unter Verwendung von awk
- awk soll dabei nie explizit die Anzahl der Felder gesagt bekommen, da es in der awk-Variable NF (Number of Fields) vorhanden ist
#!/bin/bash
while read l
do
echo $l | awk -F ":" '{
i = NF
while (i > 0) {
printf $i":"
i--
}
printf "\n"
}'
done < /etc/passwd