Aufgaben Bash while: Unterschied zwischen den Versionen

Aus Xinux Wiki
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 -->
  
<syntaxhighlight lang=bash>
+
<!-- while read l -->
 +
<!-- do -->
  
#!/bin/bash
+
<!-- echo $l | awk -F ":" '{ -->
 +
<!-- i = NF -->
 +
<!-- while (i > 0) { -->
 +
<!-- printf $i":" -->
 +
<!-- i-- -->
 +
<!-- } -->
 +
<!-- printf "\n" -->
 +
<!-- }' -->
  
while read l
+
<!-- done < /etc/passwd -->
do
+
<!-- </syntaxhighlight> -->
 
 
echo $l | awk -F ":" '{
 
i = NF
 
while (i > 0) {
 
printf $i":"
 
i--
 
}
 
printf "\n"
 
}'
 
 
 
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