🔍 1. Die klassischen Unix-Textwerkzeuge
Große Logfiles und Systemberichte verarbeitest du direkt im Datenstrom ohne GUI:
# 🎯 1. grep: Suchen mit Regex & Invertieren:
grep -E -i "(error|fatal)" /var/log/syslog | grep -v "test"
# 🎯 2. sed: Suchen & Ersetzen im Stream:
sed -E 's/password="[^"]+"/password="***"/g' app.env
# 🎯 3. awk: Spaltenbasierte Analyse & Berechnung:
cat nginx.log | awk '{ sum += $NF; count++ } END { print "Avg Bytes:", sum/count }'
📦 2. JSON-Mining im Terminal mit jq
REST-APIs, Docker und Kubernetes kommunizieren über JSON. jq ist der Standard-Prozessor auf der Linux-Kommandozeile:
# 🎯 1. Array filtern mit select & Rohausgabe (-r):
curl -s https://api.example.com/users | jq -r '.[] | select(.role == "admin") | .email'
# 🎯 2. JSON in kommagetrennte Werte (CSV) umwandeln:
cat pods.json | jq -r '.items[] | "\(.metadata.name),\(.status.phase)"'
grep: Dein Metalldetektor – er schlägt an, wenn eine Zeile das gesuchte Goldstück (Pattern) enthält.
sed: Dein Meißel – er schleift und poliert Zeichenketten in Form.
awk: Deine Buchhalter-Waage – wiegt Spalten ab und berechnet Summen und Schnitte.
jq: Der Röntgen-Präzisionslaser, der blitzschnell durch verschachtelte JSON-Kristallstrukturen schneidet!
📑 3. Cheat-Sheet: Textwerkzeuge
| Tool | Beispiel | Einsatzzweck |
|---|---|---|
grep -E -i |
grep -E -i '(err|crit)' log |
Case-insensitiver Extended-Regex-Filter |
sed -E 's/a/b/g' |
sed -E 's/http:/https:/g' |
Stream-Editor zum Ersetzen und Transformieren |
awk '{ sum += $NF }' |
awk '{ print $1 }' file |
Spaltenextraktion, Filter und Aggregation |
jq -r '.[] | select(...)' |
jq -r '.[] | .hostname' |
JSON-Parsing, Filterung & CSV-Export |
🎯 Aufgaben & Checkliste in aufgabe.sh
Verwende beim Extrahieren von Strings für Umgebungsvariablen oder Shell-Skripte immer das Flag -r (raw output), damit jq keine störenden Anführungszeichen um den Text ausgibt!