jqでクリップボードのJSONを瞬時に整形する賢いエイリアス

Using jq to format JSON on the clipboard

jqはJSON処理の定番ツールだが、この記事ではクリップボード上のJSONを整形してそのままクリップボードに戻す便利なエイリアスを紹介。macOSのpbpaste/pbcopyに相当するLinuxのxclipを使い、さらにJSONでないテキストを消してしまう問題を回避するエラーハンドリングも追加している。

パイプは非ゼロの終了コードを気にしないので、クリップボードの内容を空文字列で上書きしてしまう。
  1. 1-more

    こういうことはよくやっていて、`pbpaste | sed s/^ // | pbcopy` みたいなことをしてる。その方が頭にしっくりくるんだよね。macOSのペーストボードマネージャーとしてRaycastがいいのは、Cmd-Shift-Vで最後に選択したものが`pbpaste`の出力になるってこと。画像をコピーしたときにそれがどう影響するかは、あまり確信がないけどね。

  2. bilkow

    気に入りました!`fish`と`wl-clipboard`用にこんなバージョンを作りました:

    function clipboard-format-json

    # Inspired by https://chris48s.github.io/blogmarks/posts/2021/jsontidy/

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

    wl-copy $formatted

    end

    end

    これを.config/fish/functions/clipboard-format-json.fishに保存すれば、すぐに使えるはずです。

  3. _flux

    クリップボードの内容を整えるのに、似たようなアプローチを使っています。

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

    でも、ある時点でxselに切り替えました。xclipはユニコードの扱いがあまり良くないようなので。ただ、その後xclipが修正されている可能性はありますけどね。

この日のほかの記事

2026-09-02