Umgang mit der Shell Übungen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | == 📄 Testdatei (testfile.txt) == | ||
| + | Erstelle eine Datei `testfile.txt` mit folgendem Inhalt: | ||
| + | <pre> | ||
| + | # Dies ist eine Testdatei für Linux-Befehle | ||
| + | User: Alice Age: 30 Location: Berlin | ||
| + | User: Bob Age: 25 Location: Hamburg | ||
| + | User: Charlie Age: 35 Location: Munich | ||
| + | Error: File not found | ||
| + | Warning: Low disk space | ||
| + | Success: Operation completed | ||
| + | |||
| + | 123-456-7890 | ||
| + | +49 176 1234567 | ||
| + | abc_def_ghi | ||
| + | Hello, world! | ||
| + | The quick brown fox jumps over the lazy dog. | ||
| + | |||
| + | linux Linux LiNuX | ||
| + | apple banana apple cherry | ||
| + | zebra apple mango banana | ||
| + | </pre> | ||
| + | |||
| + | |||
== 🔍 grep – Suchen in der Datei == | == 🔍 grep – Suchen in der Datei == | ||
'''Übung:''' | '''Übung:''' | ||
* Finde alle Zeilen, die das Wort "User" enthalten. | * Finde alle Zeilen, die das Wort "User" enthalten. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| + | ! Lösung | ||
| + | |- | ||
| + | | <pre>grep "User" testfile.txt</pre> | ||
| + | |} | ||
* Suche Zeilen, die mit "Error" beginnen. | * Suche Zeilen, die mit "Error" beginnen. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| + | ! Lösung | ||
| + | |- | ||
| + | | <pre>grep "^Error" testfile.txt</pre> | ||
| + | |} | ||
* Finde alle Zeilen, die '''nicht''' "Success" enthalten. | * Finde alle Zeilen, die '''nicht''' "Success" enthalten. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| − | + | ! Lösung | |
| − | + | |- | |
| + | | <pre>grep -v "Success" testfile.txt</pre> | ||
| + | |} | ||
---- | ---- | ||
| Zeile 15: | Zeile 48: | ||
'''Übung:''' | '''Übung:''' | ||
* Zähle die Anzahl der Zeilen in der Datei. | * Zähle die Anzahl der Zeilen in der Datei. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| + | ! Lösung | ||
| + | |- | ||
| + | | <pre>wc -l testfile.txt</pre> | ||
| + | |} | ||
* Zähle die Wörter in der Datei. | * Zähle die Wörter in der Datei. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| − | + | ! Lösung | |
| − | + | |- | |
| + | | <pre>wc -w testfile.txt</pre> | ||
| + | |} | ||
---- | ---- | ||
| Zeile 26: | Zeile 65: | ||
'''Übung:''' | '''Übung:''' | ||
* Ersetze alle Kleinbuchstaben durch Großbuchstaben. | * Ersetze alle Kleinbuchstaben durch Großbuchstaben. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| + | ! Lösung | ||
| + | |- | ||
| + | | <pre>tr 'a-z' 'A-Z' < testfile.txt</pre> | ||
| + | |} | ||
* Entferne alle Ziffern. | * Entferne alle Ziffern. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| − | + | ! Lösung | |
| − | + | |- | |
| + | | <pre>tr -d '0-9' < testfile.txt</pre> | ||
| + | |} | ||
---- | ---- | ||
| Zeile 37: | Zeile 82: | ||
'''Übung:''' | '''Übung:''' | ||
* Extrahiere die erste Spalte aus Zeilen mit "User". | * Extrahiere die erste Spalte aus Zeilen mit "User". | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| + | ! Lösung | ||
| + | |- | ||
| + | | <pre>grep "User" testfile.txt | cut -d' ' -f2</pre> | ||
| + | |} | ||
* Schneide die ersten 10 Zeichen jeder Zeile ab. | * Schneide die ersten 10 Zeichen jeder Zeile ab. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| − | + | ! Lösung | |
| − | + | |- | |
| + | | <pre>cut -c1-10 testfile.txt</pre> | ||
| + | |} | ||
---- | ---- | ||
| Zeile 48: | Zeile 99: | ||
'''Übung:''' | '''Übung:''' | ||
* Ersetze "Alice" durch "Alicia". | * Ersetze "Alice" durch "Alicia". | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| + | ! Lösung | ||
| + | |- | ||
| + | | <pre>sed 's/Alice/Alicia/' testfile.txt</pre> | ||
| + | |} | ||
* Lösche alle Zeilen, die mit # beginnen. | * Lösche alle Zeilen, die mit # beginnen. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| − | + | ! Lösung | |
| − | + | |- | |
| + | | <pre>sed '/^#/d' testfile.txt</pre> | ||
| + | |} | ||
---- | ---- | ||
| Zeile 59: | Zeile 116: | ||
'''Übung:''' | '''Übung:''' | ||
* Sortiere die Datei alphabetisch. | * Sortiere die Datei alphabetisch. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| + | ! Lösung | ||
| + | |- | ||
| + | | <pre>sort testfile.txt</pre> | ||
| + | |} | ||
* Sortiere rückwärts. | * Sortiere rückwärts. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| − | + | ! Lösung | |
| − | + | |- | |
| + | | <pre>sort -r testfile.txt</pre> | ||
| + | |} | ||
---- | ---- | ||
| Zeile 70: | Zeile 133: | ||
'''Übung:''' | '''Übung:''' | ||
* Zeige alle Dateien im aktuellen Verzeichnis, die mit "t" beginnen. | * Zeige alle Dateien im aktuellen Verzeichnis, die mit "t" beginnen. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| + | ! Lösung | ||
| + | |- | ||
| + | | <pre>ls t*</pre> | ||
| + | |} | ||
* Zeige Dateien an, die genau vier Zeichen lang sind. | * Zeige Dateien an, die genau vier Zeichen lang sind. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| − | + | ! Lösung | |
| − | + | |- | |
| + | | <pre>ls ????</pre> | ||
| + | |} | ||
---- | ---- | ||
| Zeile 81: | Zeile 150: | ||
'''Übung:''' | '''Übung:''' | ||
* Finde Telefonnummern (Muster: 123-456-7890). | * Finde Telefonnummern (Muster: 123-456-7890). | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| − | + | ! Lösung | |
| − | + | |- | |
| − | + | | <pre>grep -E "[0-9]{3}-[0-9]{3}-[0-9]{4}" testfile.txt</pre> | |
| − | + | |} | |
---- | ---- | ||
| Zeile 92: | Zeile 161: | ||
'''Übung:''' | '''Übung:''' | ||
* Kombiniere grep, cut und sort, um die Namen der User alphabetisch zu sortieren. | * Kombiniere grep, cut und sort, um die Namen der User alphabetisch zu sortieren. | ||
| − | + | {| class="mw-collapsible mw-collapsed" | |
| − | + | ! Lösung | |
| − | + | |- | |
| − | + | | <pre>grep "User" testfile.txt | cut -d' ' -f2 | sort</pre> | |
| − | + | |} | |
---- | ---- | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Aktuelle Version vom 18. März 2025, 11:46 Uhr
📄 Testdatei (testfile.txt)
Erstelle eine Datei `testfile.txt` mit folgendem Inhalt:
# Dies ist eine Testdatei für Linux-Befehle User: Alice Age: 30 Location: Berlin User: Bob Age: 25 Location: Hamburg User: Charlie Age: 35 Location: Munich Error: File not found Warning: Low disk space Success: Operation completed 123-456-7890 +49 176 1234567 abc_def_ghi Hello, world! The quick brown fox jumps over the lazy dog. linux Linux LiNuX apple banana apple cherry zebra apple mango banana
🔍 grep – Suchen in der Datei
Übung:
- Finde alle Zeilen, die das Wort "User" enthalten.
| Lösung |
|---|
grep "User" testfile.txt |
- Suche Zeilen, die mit "Error" beginnen.
| Lösung |
|---|
grep "^Error" testfile.txt |
- Finde alle Zeilen, die nicht "Success" enthalten.
| Lösung |
|---|
grep -v "Success" testfile.txt |
🔢 wc – Zählen von Zeilen, Wörtern und Zeichen
Übung:
- Zähle die Anzahl der Zeilen in der Datei.
| Lösung |
|---|
wc -l testfile.txt |
- Zähle die Wörter in der Datei.
| Lösung |
|---|
wc -w testfile.txt |
🔤 tr – Zeichen umwandeln oder entfernen
Übung:
- Ersetze alle Kleinbuchstaben durch Großbuchstaben.
| Lösung |
|---|
tr 'a-z' 'A-Z' < testfile.txt |
- Entferne alle Ziffern.
| Lösung |
|---|
tr -d '0-9' < testfile.txt |
✂️ cut – Spalten aus der Datei extrahieren
Übung:
- Extrahiere die erste Spalte aus Zeilen mit "User".
| Lösung |
|---|
grep "User" testfile.txt | cut -d' ' -f2 |
- Schneide die ersten 10 Zeichen jeder Zeile ab.
| Lösung |
|---|
cut -c1-10 testfile.txt |
📝 sed – Suchen und Ersetzen
Übung:
- Ersetze "Alice" durch "Alicia".
| Lösung |
|---|
sed 's/Alice/Alicia/' testfile.txt |
- Lösche alle Zeilen, die mit # beginnen.
| Lösung |
|---|
sed '/^#/d' testfile.txt |
🔀 sort – Sortieren der Datei
Übung:
- Sortiere die Datei alphabetisch.
| Lösung |
|---|
sort testfile.txt |
- Sortiere rückwärts.
| Lösung |
|---|
sort -r testfile.txt |
🔹 Shell-Sonderzeichen (*, ?, [ ])
Übung:
- Zeige alle Dateien im aktuellen Verzeichnis, die mit "t" beginnen.
| Lösung |
|---|
ls t* |
- Zeige Dateien an, die genau vier Zeichen lang sind.
| Lösung |
|---|
ls ???? |
🔎 Reguläre Ausdrücke (grep -E)
Übung:
- Finde Telefonnummern (Muster: 123-456-7890).
| Lösung |
|---|
grep -E "[0-9]{3}-[0-9]{3}-[0-9]{4}" testfile.txt
|
🔄 Mehrere Befehle nacheinander ausführen
Übung:
- Kombiniere grep, cut und sort, um die Namen der User alphabetisch zu sortieren.
| Lösung |
|---|
grep "User" testfile.txt | cut -d' ' -f2 | sort |