Aufgaben Bash while: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= Aufgabe 1 =
 
= Aufgabe 1 =
 
 
* Programmieren Sie einen Counter der hochzählt.
 
* Programmieren Sie einen Counter der hochzählt.
 
 
= Aufgabe 2 =
 
= Aufgabe 2 =
 
+
;Tip verwenden der Modulo ist oft sinnvoll
 
* Programmieren Sie einen Counter der hochzählt und nur ungerade Zahlen ausgibt.
 
* Programmieren Sie einen Counter der hochzählt und nur ungerade Zahlen ausgibt.
  
 
= Aufgabe 3 =
 
= Aufgabe 3 =
 
 
* 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> -->
<syntaxhighlight lang=bash>
+
<!-- #!/bin/bash -->
#!/bin/bash
+
<!-- while read l -->
 
+
<!-- do -->
while read l
+
<!-- echo $l | awk -F ":" '{print $7":"$6":"$5":"$4":"$3":"$2":"$1}' -->
do
+
<!-- done < /etc/passwd -->
 
+
<!-- </syntaxhighlight> -->
echo $l | awk -F ":" '{print $7":"$6":"$5":"$4":"$3":"$2":"$1}'
+
=Aufgabe 4 =
 
+
*[[ldif Datei erzeugen]]
done < /etc/passwd
+
<!--
</syntaxhighlight>
+
= Aufgabe 5 =
 
 
= Aufgabe 4 =
 
 
 
 
* 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> -->
  
<syntaxhighlight lang=bash>
+
= Aufgabe 5 =
 
+
*[[User anlegen]]
#!/bin/bash
 
 
 
while read l
 
do
 
 
 
echo $l | awk -F ":" '{
 
i = NF
 
while (i > 0) {
 
printf $i":"
 
i--
 
}
 
printf "\n"
 
}'
 
 
 
done < /etc/passwd
 
</syntaxhighlight>
 

Aktuelle Version vom 7. Juni 2023, 09:49 Uhr

Aufgabe 1

  • Programmieren Sie einen Counter der hochzählt.

Aufgabe 2

Tip verwenden der Modulo ist oft sinnvoll
  • 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.

Aufgabe 4

Aufgabe 5