Umgang mit der Shell Übungen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

🔍 grep – Suchen in der Datei

Übung:

  • Finde alle Zeilen, die das Wort "User" enthalten.
grep "User" testfile.txt
  • Suche Zeilen, die mit "Error" beginnen.
grep "^Error" testfile.txt
  • Finde alle Zeilen, die nicht "Success" enthalten.
grep -v "Success" testfile.txt
  • Suche nach Zeilen, die Zahlen enthalten.
grep "[0-9]" testfile.txt

🔢 wc – Zählen von Zeilen, Wörtern und Zeichen

Übung:

  • Zähle die Anzahl der Zeilen in der Datei.
wc -l testfile.txt
  • Zähle die Wörter in der Datei.
wc -w testfile.txt
  • Zähle die Zeichen in der Datei.
wc -m testfile.txt

🔤 tr – Zeichen umwandeln oder entfernen

Übung:

  • Ersetze alle Kleinbuchstaben durch Großbuchstaben.
tr 'a-z' 'A-Z' < testfile.txt
  • Entferne alle Ziffern.
tr -d '0-9' < testfile.txt
  • Ersetze Leerzeichen durch Unterstriche.
tr ' ' '_' < testfile.txt

✂️ cut – Spalten aus der Datei extrahieren

Übung:

  • Extrahiere die erste Spalte aus Zeilen mit "User".
grep "User" testfile.txt | cut -d' ' -f2
  • Schneide die ersten 10 Zeichen jeder Zeile ab.
cut -c1-10 testfile.txt
  • Extrahiere die Altersangaben aus den "User"-Zeilen.
grep "User" testfile.txt | cut -d' ' -f4

📝 sed – Suchen und Ersetzen

Übung:

  • Ersetze "Alice" durch "Alicia".
sed 's/Alice/Alicia/' testfile.txt
  • Lösche alle Zeilen, die mit # beginnen.
sed '/^#/d' testfile.txt
  • Ersetze "Success" durch "✔ DONE" in der Datei.
sed 's/Success/✔ DONE/' testfile.txt

🔀 sort – Sortieren der Datei

Übung:

  • Sortiere die Datei alphabetisch.
sort testfile.txt
  • Sortiere rückwärts.
sort -r testfile.txt
  • Sortiere nach der zweiten Spalte (Alter der User).
grep "User" testfile.txt | sort -k4 -n

🔹 Shell-Sonderzeichen (*, ?, [ ])

Übung:

  • Zeige alle Dateien im aktuellen Verzeichnis, die mit "t" beginnen.
ls t*
  • Zeige Dateien an, die genau vier Zeichen lang sind.
ls ????
  • Finde Dateien, die auf .txt oder .log enden.
ls *.{txt,log}

🔎 Reguläre Ausdrücke (grep -E)

Übung:

  • Finde Telefonnummern (Muster: 123-456-7890).
grep -E "[0-9]{3}-[0-9]{3}-[0-9]{4}" testfile.txt
  • Finde Zeilen mit einer Kombination aus Groß- und Kleinbuchstaben.
grep -E "[A-Z][a-z]+" testfile.txt
  • Suche nach Wörtern, die mit "a" oder "b" beginnen.
grep -E "^[ab]" testfile.txt

🔄 Mehrere Befehle nacheinander ausführen

Übung:

  • Kombiniere grep, cut und sort, um die Namen der User alphabetisch zu sortieren.
grep "User" testfile.txt | cut -d' ' -f2 | sort
  • Finde Telefonnummern, entferne Leerzeichen und speichere sie in einer neuen Datei.
grep -E "[0-9]{3}-[0-9]{3}-[0-9]{4}" testfile.txt | tr -d ' ' > phones.txt
  • Zähle die Zeilen, die das Wort "Error" enthalten, und speichere die Anzahl in einer Datei.
grep -c "Error" testfile.txt > error_count.txt

📄 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