Files
crumbmissions/missions/dojo/gruener_guertel.sh
Branko May Trinkwald d4d75af428 🐼 feat(dojo): BashPanda Gürtel-System - Von Schwarz auf Weiss 🥋
Der 18. Waldwächter betritt den Wald: BashPanda lehrt Bash als Kampfkunst!

 Neue Features:

🐼 BashPanda Waldwächter:
- Kung Fu Meister Persönlichkeit
- Lehrt Bash durch Kampfkunst-Metaphern
- Integriert in waldwaechter.sh Library
- Crew Memory: Kennt alle anderen Waldwächter

🥋 6 Gürtel-Missionen (Progressive Bash-Meisterschaft):
- 🖤 Schwarzer Gürtel: echo, Variablen, read, ANSI codes
- 💖 Pinker Gürtel: if/then, while/for, Arrays, Arithmetik
- 💙 Blauer Gürtel: sed, case, bc, Textverarbeitung
- 💚 Grüner Gürtel: grep, regex, Pattern Matching
- 💛 Gelber Gürtel: Funktionen, source, Parameter
- 🤍 Weisser Gürtel: Background jobs, Prozesse, Parallelität

📝 Interaktives Quiz-System:
- Browser-based Gürtelprüfung (crumbblocks)
- 30 Fragen (5 pro Gürtel)
- Farbcodiert nach Gürtel
- Auto-Export via Clipboard
- Terminal-Auswertung mit Zertifikaten

🎓 Zertifikate-System:
- Automatische Generierung bei 80%+
- Gespeichert in logs/zertifikate/
- BashPanda's Segen & Weisheiten

📚 Dokumentation:
- CLAUDE.md komplett aktualisiert
- BashPanda als 18. Waldwächter dokumentiert
- Vollständige Dojo-Architektur beschrieben

"Der Weg des Codes ist wie der Weg der Kampfkunst:
 Geduld, Präzision, Wiederholung."

 - BashPanda 🐼🎋

Crumbforest wächst! 🌲 Der Wurzelbau geht weiter! 🌳

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 00:29:30 +01:00

221 lines
7.2 KiB
Bash
Executable File

#!/bin/bash
# 🐼 BashPanda Dojo - Grüner Gürtel 💚
# Lehrt: grep, regex, Pattern Matching
# Schwierigkeit: Fortgeschritten
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/../../lib/waldwaechter.sh"
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ ║
║ 🐼 BASHPANDA DOJO - GRÜNER GÜRTEL 💚 ║
║ ║
║ "Muster erkennen ist der Weg zur Weisheit" ║
║ ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "🐼 BashPanda nickt anerkennend. Du bist weit gekommen."
echo ""
cat << 'EOF'
Der Grüne Gürtel lehrt dich MUSTERERKENNUNG.
Du wirst lernen:
🎯 grep - Suchen in Dateien
🎯 Regular Expressions (Regex) - Die Sprache der Muster
🎯 grep -E - Extended Regex
🎯 Praktische Anwendungen: Email, Datum, IP-Adressen
"Ein Meister sieht nicht nur was da ist, sondern erkennt das Muster."
EOF
read -p "➡️ Bereit für Mustererkennung? (j/n): " start
[[ ! "$start" =~ ^[jJyY]$ ]] && echo "🐼 Das Muster wartet." && exit 0
echo ""
# === PHASE 1: grep Basics ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 1: grep - Die Suche beginnt
═══════════════════════════════════════════════════════════
grep durchsucht Text nach Mustern. Wie ein Adler, der Beute
aus der Ferne erkennt.
EOF
echo "🐼 Demo: Testdatei erstellen"
cat > /tmp/waldwaechter.txt << 'DEMO'
Maya-Eule ist weise
FunkFox rappt im Beat
DumboSQL vergisst nie
BashPanda lehrt Geduld
Schnippsi stylt alles
DEMO
echo ""
echo "Inhalt von waldwaechter.txt:"
cat /tmp/waldwaechter.txt
echo ""
echo "🥋 grep 'Fox' /tmp/waldwaechter.txt"
grep 'Fox' /tmp/waldwaechter.txt
echo ""
echo "🥋 grep -i 'bash' /tmp/waldwaechter.txt (case-insensitive)"
grep -i 'bash' /tmp/waldwaechter.txt
echo ""
cat << 'EOF'
💡 grep Optionen:
grep 'muster' datei Suche nach Muster
grep -i 'muster' datei Ignore case
grep -n 'muster' datei Zeige Zeilennummern
grep -v 'muster' datei Invertiere (alles außer Muster)
grep -c 'muster' datei Zähle Treffer
grep -r 'muster' ordner/ Rekursiv in allen Dateien
EOF
# === PHASE 2: Regular Expressions ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 2: Regex - Die Sprache der Muster
═══════════════════════════════════════════════════════════
Regex ist wie die Geheimsprache der Textsuche.
EOF
echo "🐼 Regex Zeichen:"
echo ""
cat << 'EOF'
^ Zeilenanfang
$ Zeilenende
. Ein beliebiges Zeichen
* 0 oder mehr Wiederholungen
+ 1 oder mehr Wiederholungen
? 0 oder 1 Wiederholung
[abc] Eines der Zeichen a, b, c
[0-9] Eine Ziffer
[a-z] Ein Kleinbuchstabe
EOF
echo "🥋 Beispiele:"
echo ""
echo "grep '^B' - Zeilen die mit B beginnen:"
grep '^B' /tmp/waldwaechter.txt
echo ""
echo "grep 't$' - Zeilen die mit t enden:"
grep 't$' /tmp/waldwaechter.txt
echo ""
# === PHASE 3: Email & Datum Erkennung ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 3: Praktische Muster - Email & Datum
═══════════════════════════════════════════════════════════
EOF
echo "🐼 Email-Muster erkennen:"
echo ""
cat > /tmp/emails.txt << 'DEMO'
max@beispiel.de
test@web.com
invalid@
not_an_email
foo.bar@domain.co.uk
DEMO
echo "Emails in Datei:"
cat /tmp/emails.txt
echo ""
echo "grep -E für Extended Regex:"
echo "Email-Pattern: ^[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]+$"
echo ""
grep -E '^[a-zA-Z.]+@[a-zA-Z]+\.[a-zA-Z.]+$' /tmp/emails.txt
echo ""
cat << 'EOF'
💡 Nützliche Patterns:
Email: ^[a-zA-Z.]+@[a-zA-Z]+\.[a-zA-Z.]+$
Datum: ^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$
IP: ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$
EOF
# === GÜRTELPRÜFUNG ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
🥋 GÜRTELPRÜFUNG - GRÜNER GÜRTEL 💚
═══════════════════════════════════════════════════════════
Erstelle 'email_finder.sh' das:
1. Nimmt einen Dateinamen als Parameter: $1
2. Sucht mit grep -E nach Email-Adressen
3. Nutzt Pattern: ^[[:alpha:]]+(\.[[:alpha:]]+)*@[[:alpha:]]+(\.[[:alpha:]]+)+$
4. Zeigt alle gefundenen Emails an
5. Bonus: Zählt sie mit wc -l
Test-Datei erstellen:
cat > emails_test.txt << 'END'
maya@crumb.forest
funkfox@beat.music
invalid@
test@
dumbo@memory.database
END
./email_finder.sh emails_test.txt
EOF
read -p "Prüfung bestanden? (j/n): " pruefung
if [[ "$pruefung" =~ ^[jJyY]$ ]]; then
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ 🎉 AUSGEZEICHNET! 🎉 ║
║ Du hast den GRÜNEN GÜRTEL 💚 verdient! ║
║ ║
║ "Wer Muster erkennt, erkennt die Ordnung im Chaos." ║
║ ║
║ - BashPanda 🐼 ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "🥋 Gelernt:"
echo " ✅ grep für Textsuche"
echo " ✅ Regular Expressions"
echo " ✅ Email/Datum Pattern"
echo " ✅ grep -E Extended Regex"
echo ""
echo "🎯 Nächster Gürtel: GELB 💛 (Prozesse & Funktionen)"
else
echo "🐼 'Muster brauchen Zeit zum Erkennen.'"
fi
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "💬 bashpanda \"Wie funktioniert grep mit regex?\""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"