jq auf der Zwischenablage: JSON formatieren mit einem Alias

Using jq to format JSON on the clipboard

Der Blogbeitrag zeigt, wie man mit jq und einem Alias JSON-Daten aus der Zwischenablage formatiert. Ausgehend von einem Tipp aus einem Artikel von Sequoia McDowell, der pbpaste und pbcopy auf dem Mac nutzt, wird die Lösung für Linux mit xclip angepasst. Zudem wird ein Problem behoben: Wenn die Zwischenablage kein gültiges JSON enthält, gibt jq einen Fehler aus und überschreibt die Zwischenablage mit leerem Inhalt. Der Autor ergänzt eine Fehlerbehandlung, sodass der ursprüngliche Inhalt erhalten bleibt.

Ich mag diese Pretty-Printing-/Formatierungsfunktion so sehr, dass ich einen Alias habe, der JSON, das ich kopiert habe (in der OS-„Zwischenablage“), formatiert und wieder in meine Zwischenablage legt.
  1. 1-more

    Ich mache so etwas oft und benutze `pbpaste | sed s/^ // | pbcopy` und ähnliche Dinge. Das passt einfach besser zu meinem Denken. Das Schöne an Raycast als macOS-Zwischenablage-Manager ist, dass das, was man zuletzt über Cmd-Shift-V ausgewählt hat, die Ausgabe von `pbpaste` ist. Ich bin mir nicht ganz sicher, wie sich das beim Kopieren von Bildern auswirkt.

  2. _flux

    Ich verwende einen ähnlichen Ansatz, um den Inhalt der Zwischenablage zu bereinigen, mit

    tr '\n' ' ' | sed 's/\t/ /g; s/ */ /g'

    Aber ich bin auch irgendwann auf xsel umgestiegen, da xclip anscheinend nicht so gut mit Unicode umgeht. Es könnte aber sein, dass xclip inzwischen behoben wurde.

  3. bilkow

    Hat mir gefallen! Ich habe diese Version für `fish` und `wl-clipboard` erstellt:

    function clipboard-format-json

    # Inspiriert von https://chris48s.github.io/blogmarks/posts/2021/jsontidy/

    if set -l formatted "$(wl-paste | jq '.')"

    wl-copy $formatted

    end

    end

    Wenn man sie unter .config/fish/functions/clipboard-format-json.fish speichert, sollte sie sofort funktionieren.

Mehr von diesem Tag

2026-09-02