Umgang mit der Shell Übungen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „== 🔍 grep – Suchen in der Datei == '''Übung:''' * Finde alle Zeilen, die das Wort "User" enthalten. <hidden>'''Antwort:''' <pre>grep "User" testfil…“)
 
Zeile 1: Zeile 1:
 +
 
== 🔍 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.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>grep "User" testfile.txt</pre></hidden>
+
   <pre>grep "User" testfile.txt</pre></collapse>
 
* Suche Zeilen, die mit "Error" beginnen.
 
* Suche Zeilen, die mit "Error" beginnen.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>grep "^Error" testfile.txt</pre></hidden>
+
   <pre>grep "^Error" testfile.txt</pre></collapse>
 
* Finde alle Zeilen, die '''nicht''' "Success" enthalten.
 
* Finde alle Zeilen, die '''nicht''' "Success" enthalten.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>grep -v "Success" testfile.txt</pre></hidden>
+
   <pre>grep -v "Success" testfile.txt</pre></collapse>
  
 
----
 
----
Zeile 16: Zeile 17:
 
'''Übung:'''
 
'''Übung:'''
 
* Zähle die Anzahl der Zeilen in der Datei.
 
* Zähle die Anzahl der Zeilen in der Datei.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>wc -l testfile.txt</pre></hidden>
+
   <pre>wc -l testfile.txt</pre></collapse>
 
* Zähle die Wörter in der Datei.
 
* Zähle die Wörter in der Datei.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>wc -w testfile.txt</pre></hidden>
+
   <pre>wc -w testfile.txt</pre></collapse>
  
 
----
 
----
Zeile 27: Zeile 28:
 
'''Übung:'''
 
'''Übung:'''
 
* Ersetze alle Kleinbuchstaben durch Großbuchstaben.
 
* Ersetze alle Kleinbuchstaben durch Großbuchstaben.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>tr 'a-z' 'A-Z' < testfile.txt</pre></hidden>
+
   <pre>tr 'a-z' 'A-Z' < testfile.txt</pre></collapse>
 
* Entferne alle Ziffern.
 
* Entferne alle Ziffern.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>tr -d '0-9' < testfile.txt</pre></hidden>
+
   <pre>tr -d '0-9' < testfile.txt</pre></collapse>
  
 
----
 
----
Zeile 38: Zeile 39:
 
'''Übung:'''
 
'''Übung:'''
 
* Extrahiere die erste Spalte aus Zeilen mit "User".
 
* Extrahiere die erste Spalte aus Zeilen mit "User".
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>grep "User" testfile.txt | cut -d' ' -f2</pre></hidden>
+
   <pre>grep "User" testfile.txt | cut -d' ' -f2</pre></collapse>
 
* Schneide die ersten 10 Zeichen jeder Zeile ab.
 
* Schneide die ersten 10 Zeichen jeder Zeile ab.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>cut -c1-10 testfile.txt</pre></hidden>
+
   <pre>cut -c1-10 testfile.txt</pre></collapse>
  
 
----
 
----
Zeile 49: Zeile 50:
 
'''Übung:'''
 
'''Übung:'''
 
* Ersetze "Alice" durch "Alicia".
 
* Ersetze "Alice" durch "Alicia".
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>sed 's/Alice/Alicia/' testfile.txt</pre></hidden>
+
   <pre>sed 's/Alice/Alicia/' testfile.txt</pre></collapse>
 
* Lösche alle Zeilen, die mit # beginnen.
 
* Lösche alle Zeilen, die mit # beginnen.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>sed '/^#/d' testfile.txt</pre></hidden>
+
   <pre>sed '/^#/d' testfile.txt</pre></collapse>
  
 
----
 
----
Zeile 60: Zeile 61:
 
'''Übung:'''
 
'''Übung:'''
 
* Sortiere die Datei alphabetisch.
 
* Sortiere die Datei alphabetisch.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>sort testfile.txt</pre></hidden>
+
   <pre>sort testfile.txt</pre></collapse>
 
* Sortiere rückwärts.
 
* Sortiere rückwärts.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>sort -r testfile.txt</pre></hidden>
+
   <pre>sort -r testfile.txt</pre></collapse>
  
 
----
 
----
Zeile 71: Zeile 72:
 
'''Übung:'''
 
'''Übung:'''
 
* Zeige alle Dateien im aktuellen Verzeichnis, die mit "t" beginnen.
 
* Zeige alle Dateien im aktuellen Verzeichnis, die mit "t" beginnen.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>ls t*</pre></hidden>
+
   <pre>ls t*</pre></collapse>
 
* Zeige Dateien an, die genau vier Zeichen lang sind.
 
* Zeige Dateien an, die genau vier Zeichen lang sind.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>ls ????</pre></hidden>
+
   <pre>ls ????</pre></collapse>
  
 
----
 
----
Zeile 82: Zeile 83:
 
'''Übung:'''
 
'''Übung:'''
 
* Finde Telefonnummern (Muster: 123-456-7890).
 
* Finde Telefonnummern (Muster: 123-456-7890).
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>grep -E "[0-9]{3}-[0-9]{3}-[0-9]{4}" testfile.txt</pre></hidden>
+
   <pre>grep -E "[0-9]{3}-[0-9]{3}-[0-9]{4}" testfile.txt</pre></collapse>
  
 
----
 
----
Zeile 90: Zeile 91:
 
'''Ü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.
   <hidden>'''Antwort:'''   
+
   <collapse>'''Antwort:'''   
   <pre>grep "User" testfile.txt | cut -d' ' -f2 | sort</pre></hidden>
+
   <pre>grep "User" testfile.txt | cut -d' ' -f2 | sort</pre></collapse>
  
 
----
 
----

Version vom 18. März 2025, 11:43 Uhr

🔍 grep – Suchen in der Datei

Übung:

  • Finde alle Zeilen, die das Wort "User" enthalten.
 <collapse>Antwort:  
grep "User" testfile.txt

</collapse>

  • Suche Zeilen, die mit "Error" beginnen.
 <collapse>Antwort:  
grep "^Error" testfile.txt

</collapse>

  • Finde alle Zeilen, die nicht "Success" enthalten.
 <collapse>Antwort:  
grep -v "Success" testfile.txt

</collapse>


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

Übung:

  • Zähle die Anzahl der Zeilen in der Datei.
 <collapse>Antwort:  
wc -l testfile.txt

</collapse>

  • Zähle die Wörter in der Datei.
 <collapse>Antwort:  
wc -w testfile.txt

</collapse>


🔤 tr – Zeichen umwandeln oder entfernen

Übung:

  • Ersetze alle Kleinbuchstaben durch Großbuchstaben.
 <collapse>Antwort:  
tr 'a-z' 'A-Z' < testfile.txt

</collapse>

  • Entferne alle Ziffern.
 <collapse>Antwort:  
tr -d '0-9' < testfile.txt

</collapse>


✂️ cut – Spalten aus der Datei extrahieren

Übung:

  • Extrahiere die erste Spalte aus Zeilen mit "User".
 <collapse>Antwort:  
grep "User" testfile.txt | cut -d' ' -f2

</collapse>

  • Schneide die ersten 10 Zeichen jeder Zeile ab.
 <collapse>Antwort:  
cut -c1-10 testfile.txt

</collapse>


📝 sed – Suchen und Ersetzen

Übung:

  • Ersetze "Alice" durch "Alicia".
 <collapse>Antwort:  
sed 's/Alice/Alicia/' testfile.txt

</collapse>

  • Lösche alle Zeilen, die mit # beginnen.
 <collapse>Antwort:  
sed '/^#/d' testfile.txt

</collapse>


🔀 sort – Sortieren der Datei

Übung:

  • Sortiere die Datei alphabetisch.
 <collapse>Antwort:  
sort testfile.txt

</collapse>

  • Sortiere rückwärts.
 <collapse>Antwort:  
sort -r testfile.txt

</collapse>


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

Übung:

  • Zeige alle Dateien im aktuellen Verzeichnis, die mit "t" beginnen.
 <collapse>Antwort:  
ls t*

</collapse>

  • Zeige Dateien an, die genau vier Zeichen lang sind.
 <collapse>Antwort:  
ls ????

</collapse>


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

Übung:

  • Finde Telefonnummern (Muster: 123-456-7890).
 <collapse>Antwort:  
grep -E "[0-9]{3}-[0-9]{3}-[0-9]{4}" testfile.txt

</collapse>


🔄 Mehrere Befehle nacheinander ausführen

Übung:

  • Kombiniere grep, cut und sort, um die Namen der User alphabetisch zu sortieren.
 <collapse>Antwort:  
grep "User" testfile.txt | cut -d' ' -f2 | sort

</collapse>


📄 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