Umgang mit der Shell Übungen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Robin.will (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Robin.will (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(3 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.
  {{Collapse|title=Antwort|1=<pre>grep "User" testfile.txt</pre>}}
{| 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.
  {{Collapse|title=Antwort|1=<pre>grep "^Error" testfile.txt</pre>}}
{| 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.
  {{Collapse|title=Antwort|1=<pre>grep -v "Success" testfile.txt</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>grep -v "Success" testfile.txt</pre>
|}


----
----
Zeile 13: Zeile 48:
'''Übung:'''
'''Übung:'''
* Zähle die Anzahl der Zeilen in der Datei.
* Zähle die Anzahl der Zeilen in der Datei.
  {{Collapse|title=Antwort|1=<pre>wc -l testfile.txt</pre>}}
{| 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.
  {{Collapse|title=Antwort|1=<pre>wc -w testfile.txt</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>wc -w testfile.txt</pre>
|}


----
----
Zeile 22: Zeile 65:
'''Übung:'''
'''Übung:'''
* Ersetze alle Kleinbuchstaben durch Großbuchstaben.
* Ersetze alle Kleinbuchstaben durch Großbuchstaben.
  {{Collapse|title=Antwort|1=<pre>tr 'a-z' 'A-Z' < testfile.txt</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>tr 'a-z' 'A-Z' < testfile.txt</pre>
|}
* Entferne alle Ziffern.
* Entferne alle Ziffern.
  {{Collapse|title=Antwort|1=<pre>tr -d '0-9' < testfile.txt</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>tr -d '0-9' < testfile.txt</pre>
|}


----
----
Zeile 31: Zeile 82:
'''Übung:'''
'''Übung:'''
* Extrahiere die erste Spalte aus Zeilen mit "User".
* Extrahiere die erste Spalte aus Zeilen mit "User".
  {{Collapse|title=Antwort|1=<pre>grep "User" testfile.txt | cut -d' ' -f2</pre>}}
{| 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.
  {{Collapse|title=Antwort|1=<pre>cut -c1-10 testfile.txt</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>cut -c1-10 testfile.txt</pre>
|}


----
----
Zeile 40: Zeile 99:
'''Übung:'''
'''Übung:'''
* Ersetze "Alice" durch "Alicia".
* Ersetze "Alice" durch "Alicia".
  {{Collapse|title=Antwort|1=<pre>sed 's/Alice/Alicia/' testfile.txt</pre>}}
{| 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.
  {{Collapse|title=Antwort|1=<pre>sed '/^#/d' testfile.txt</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>sed '/^#/d' testfile.txt</pre>
|}


----
----
Zeile 49: Zeile 116:
'''Übung:'''
'''Übung:'''
* Sortiere die Datei alphabetisch.
* Sortiere die Datei alphabetisch.
  {{Collapse|title=Antwort|1=<pre>sort testfile.txt</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>sort testfile.txt</pre>
|}
* Sortiere rückwärts.
* Sortiere rückwärts.
  {{Collapse|title=Antwort|1=<pre>sort -r testfile.txt</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>sort -r testfile.txt</pre>
|}


----
----
Zeile 58: Zeile 133:
'''Übung:'''
'''Übung:'''
* Zeige alle Dateien im aktuellen Verzeichnis, die mit "t" beginnen.
* Zeige alle Dateien im aktuellen Verzeichnis, die mit "t" beginnen.
  {{Collapse|title=Antwort|1=<pre>ls t*</pre>}}
{| 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.
  {{Collapse|title=Antwort|1=<pre>ls ????</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>ls ????</pre>
|}


----
----
Zeile 67: Zeile 150:
'''Übung:'''
'''Übung:'''
* Finde Telefonnummern (Muster: 123-456-7890).
* Finde Telefonnummern (Muster: 123-456-7890).
  {{Collapse|title=Antwort|1=<pre>grep -E "[0-9]{3}-[0-9]{3}-[0-9]{4}" testfile.txt</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>grep -E "[0-9]{3}-[0-9]{3}-[0-9]{4}" testfile.txt</pre>
|}


----
----
Zeile 74: 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.
  {{Collapse|title=Antwort|1=<pre>grep "User" testfile.txt | cut -d' ' -f2 | sort</pre>}}
{| class="mw-collapsible mw-collapsed"
! Lösung
|-
| <pre>grep "User" testfile.txt | cut -d' ' -f2 | sort</pre>
|}


----
----
== 📄 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>

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