5 Punkte von kodingwarrior 2025-04-08 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Überblick über den Artikel

    • Der Artikel stellt verschiedene Tricks vor, mit denen sich durch die Kombination von Bash-Skripten und Ruby die Automatisierung von CLI-Tools umsetzen lässt.
    • Auch andere Skriptsprachen sind möglich, betont wird jedoch die Lesbarkeit und Flexibilität von Ruby.
  • Warum Ruby statt Bash?

    • Ruby bietet klare Datentypen (Ganzzahlen, Gleitkommazahlen, Strings, Arrays, Hashes usw.) und erhöht dadurch die Lesbarkeit des Codes.
    • Für macOS-Nutzer ist Ruby besonders nützlich, weil es bei installiertem Homebrew praktisch standardmäßig verfügbar ist.
    • Ruby wird in Build- und Automatisierungsskripten wie CocoaPod und Fastlane sinnvoll eingesetzt.
    • Unterschiedliche Datenformate wie JSON, CSV und YAML lassen sich mit den eingebauten Bibliotheken leicht verarbeiten.
  • Ruby-One-Liner schreiben

    • Einzeilige Skripte lassen sich im Format ruby -e "<expression>" ausführen.
    • Über Pipes und Redirects können die Ergebnisse anderer CLI-Tools eingelesen und verarbeitet werden.
    • Mit der Option -r lassen sich benötigte Bibliotheken vorab laden und der Funktionsumfang erweitern.
  • Mit anderen CLI-Tools kombinieren

    • In Kombination mit AWS CLI, Git, GitHub CLI, jq, curl usw. kann Ruby die Stärken einzelner Werkzeuge maximal ausnutzen.
    • Beispiel für JSON-Datenverarbeitung:
      • Nach einem API-Aufruf mit curl werden die Daten mit der JSON-Bibliothek von Ruby geparst und bestimmte Felder (z. B. title) ausgegeben.
    • Beispiel für YAML-Datenverarbeitung:
      • Nach dem Einlesen einer Datei mit cat config.yaml wird sie mit der YAML-Bibliothek von Ruby geparst, um bestimmte Konfigurationswerte zu extrahieren.
    • Die Ergebnisse von CLI-Tools lassen sich in Ruby weiterverarbeiten, um flexiblere Automatisierungs-Workflows aufzubauen.
  • Unstrukturierte Daten verarbeiten (Beispiel Git-Log)

    • Nicht alle Daten liegen strukturiert wie JSON, CSV oder YAML vor.
    • Mit den regulären Ausdrücken und Textverarbeitungsfunktionen von Ruby lassen sich Logs, Systemmeldungen usw. zeilenweise einlesen und die benötigten Informationen extrahieren.
    • Beispielskript für Git-Log:
      • Mit git log --oneline #{file} wird ein einzeiliges Commit-Log extrahiert.
      • Mit gum choose --limit 100 wird das gewünschte Log interaktiv ausgewählt.
      • Aus jedem ausgewählten Log wird der Commit-Hash extrahiert und mit git show die detaillierte Änderungshistorie ausgegeben.
      • Abschließend werden die ausgewählten Logs in Form einer Checkliste neu zusammengestellt und ausgegeben.
  • Fazit

    • Durch die Kombination von CLI-Tools und Ruby-Skripten lassen sich mit einfachen Befehlsfolgen leistungsstarke Automatisierungswerkzeuge bauen.
    • Komplexe Datenverarbeitung, Log-Analyse und Aufgaben rund um Versionsverwaltung lassen sich effizient automatisieren und die Produktivität deutlich steigern.
    • Kleine Anfänge können große Veränderungen bewirken, und der Artikel empfiehlt, ein eigenes Side-Project zu starten.
    • Perl ist übrigens ebenfalls nützlich; Materialien wie der Perl One-Liners Guide können hilfreich sein.

Noch keine Kommentare.

Noch keine Kommentare.