Formatea JSON del portapapeles con jq y un alias

Using jq to format JSON on the clipboard

Un desarrollador comparte un alias para formatear JSON copiado en el portapapeles usando jq, con versiones para macOS (pbpaste/pbcopy) y Linux (xclip). Incluye una mejora clave: si el contenido no es JSON, el alias lo deja intacto en lugar de sobrescribirlo con una cadena vacía, gracias a un manejo de errores con jq y xclip.

Si ejecuto esto y el texto en mi portapapeles no es JSON, jq saldrá con un código de salida distinto de cero, generará algo como 'parse error: Invalid numeric literal at line 1, column 6' en stderr y nada en stdout. La tubería no se preocupa por el código de salida distinto de cero, así que sobrescribimos lo que había en el portapapeles con una cadena vacía.
  1. 1-more

    Hago mucho de esto y `pbpaste | sed s/^ // | pbcopy` y cosas así. Simplemente se adapta mejor a mi forma de pensar. Lo bueno de raycast como gestor del portapapeles de macOS es que lo que sea que hayas seleccionado por última vez con Cmd-Shift-V es la salida de `pbpaste`. No estoy 100% seguro de cómo afecta eso a copiar imágenes.

  2. _flux

    Utilizo un enfoque similar para arreglar el contenido del portapapeles con

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

    Pero también cambié a xsel en un momento, ya que xclip no parece manejar tan bien el unicode. Aunque podría ser que xclip se haya arreglado desde entonces.

  3. bilkow

    ¡Me encantó! Hice esta versión para `fish` y `wl-clipboard`:

    function clipboard-format-json

    # Inspirado por https://chris48s.github.io/blogmarks/posts/2021/jsontidy/

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

    wl-copy $formatted

    end

    end

    Al guardarlo en .config/fish/functions/clipboard-format-json.fish, debería funcionar de inmediato

Más de este día

2026-09-02