Zum Inhalt springen

Shell: Tools, die Ihr Agent bereits hat

Die Tools, zu denen ein Agent ständig greift: die Datei finden, darin suchen, die Ausgabe umformen, sie woanders hinverschieben.

40 Tools

Fast jede Aufgabe eines Agenten berührt diese Tools. Soll er herausfinden, wo etwas konfiguriert ist, durchsucht er den Verzeichnisbaum, statt zu raten. Soll er die Fehler aus einem Log ziehen, filtert er, statt Ihnen die ganze Datei vorzulesen. Sie machen den Unterschied zwischen einem Agenten, der beschreibt, was er tun würde, und einem, der es tut.

Die Tools

In jedem Tarif vorinstalliert, ohne Einrichtung. Einige hängen von der gewählten Engine ab.

  • rg

    Ripgrep. Rekursive Regex-Suche in einem ganzen Repository, in Millisekunden.

  • fd

    Ein freundlicheres find: Dateien und Verzeichnisse nach Name oder Muster finden.

  • bat

    cat mit Syntaxhervorhebung, Zeilennummern und Git-Markierungen.

  • jq

    JSON direkt aus einer Pipe filtern, umformen und lesbar formatieren.

  • yq

    Dieselbe Abfragesprache wie jq, angewendet auf YAML und TOML.

  • mlr

    Miller. CSV-, TSV- und JSON-Datensätze zuschneiden, verknüpfen, sortieren und zusammenfassen.

  • qsv

    Sehr große CSV-Dateien schnell indexieren, verknüpfen, aufteilen und validieren.

  • csvcut

    csvkit. Spalten einer CSV-Datei auswählen, entfernen und neu anordnen.

  • in2csv

    Excel-, JSON- oder Festbreiten-Dateien in CSV umwandeln.

  • sql2csv

    Eine SQL-Abfrage gegen eine Datenbank ausführen und das Ergebnis als CSV erhalten.

  • 7z

    7z und die meisten anderen Archivformate packen und entpacken.

  • zip

    ZIP-Archive erstellen und aktualisieren.

  • unzip

    Den Inhalt eines ZIP-Archivs auflisten und entpacken.

  • xz

    Mit xz und LZMA komprimieren und dekomprimieren.

  • zstd

    Schnelle Komprimierung und Dekomprimierung mit Zstandard.

  • less

    Seitenweise durch eine lange Datei oder die Ausgabe eines Befehls blättern.

  • file

    Erkennen, was eine Datei wirklich ist, egal welche Endung sie hat.

  • tree

    Ein Verzeichnis als eingerückten Baum ausgeben.

  • patch

    Einen Diff auf eine Datei oder einen ganzen Quellbaum anwenden.

  • column

    Per Pipe übergebenen Text in lesbaren Spalten ausrichten.

  • bc

    Arithmetik mit beliebiger Genauigkeit, direkt aus einer Pipe.

  • pv

    Daten beim Durchlaufen einer Pipe beobachten, mit Durchsatz und Fortschritt.

  • csvsql

    CSV-Dateien mit SQL abfragen oder direkt in eine Datenbank laden.

  • csvlook

    Eine CSV-Datei als ausgerichtete Tabelle darstellen, die sich im Terminal wirklich lesen lässt.

  • csvstat

    Typen, Anzahl der Nullwerte und Wertebereiche für jede Spalte einer CSV-Datei ausgeben.

  • csvjson

    Eine CSV-Datei in JSON oder GeoJSON umwandeln, ein Objekt pro Zeile.

  • csvgrep

    CSV-Zeilen per Muster oder Regex in benannten Spalten filtern.

  • csvsort

    Eine CSV-Datei nach einer oder mehreren Spalten sortieren, typgerecht.

  • csvjoin

    Zwei oder mehr CSV-Dateien über eine gemeinsame Spalte verknüpfen.

  • sponge

    stdin vollständig aufnehmen, bevor geschrieben wird, sodass eine Pipe ihre eigene Eingabedatei überschreiben kann.

  • ts

    Jeder Zeile eines Streams einen Zeitstempel voranstellen.

  • chronic

    Einen Befehl ausführen und seine Ausgabe nur anzeigen, wenn er fehlschlägt.

  • ifne

    Einen Befehl nur ausführen, wenn stdin nicht leer ist.

  • pee

    stdin gleichzeitig an mehrere Befehle senden, so wie tee es für Dateien tut.

  • vipe

    Einen Editor mitten in eine Pipe einfügen, um den Stream von Hand zu bearbeiten.

  • vidir

    Dateien umbenennen und löschen, indem man eine Verzeichnisliste als Text bearbeitet.

  • isutf8

    Prüfen, ob eine Datei oder ein Stream gültiges UTF-8 ist.

  • errno

    Einen errno-Wert nach Nummer, Name oder Meldung nachschlagen.

  • hexdump

    Eine Datei als Hex, Oktal oder ASCII ausgeben, um Binärinhalte zu untersuchen.

  • ast-grep

    Code anhand von Syntaxbaum-Mustern statt per Regex durchsuchen und umschreiben.

Loslegen

Eine echte Kommandozeile, bereits eingerichtet

Jeder Agent läuft auf einer Maschine in einer Sandbox, mit dem kompletten Werkzeugkasten vorinstalliert. Kein Einrichtungsschritt, in jedem Tarif.