Aufgaben Bash while: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 26: | Zeile 26: | ||
* Erstellen Sie dasselbe Programm unter Verwendung von '''awk''' | * 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 | * '''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> --> | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | done < /etc/passwd | ||
| − | </syntaxhighlight> | ||
Version vom 2. Juni 2023, 07:23 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