返回

文章详情

使用 jq 格式化剪贴板上的 JSON

Hacker News2026年9月2日 12:35

Jq 是一个很棒的工具。我经常使用它,但最近 Sequoia McDowell 的这篇文章中仍然有一些很好的提示,值得一读。让我印象深刻的一点是这个代码片段:我如此喜欢这个美化/格式化功能,以至于我有一个别名来格式化我复制的 JSON(在我的操作系统 "剪贴板" 中)并把它放回我的剪贴板:alias jsontidy="pbpaste | jq '.' | pbcopy" 这非常实用,但我需要稍微调整一下。首先,正如所提到的,pbcopy 和 pbpaste 是 Mac 工具。没关系。我们可以在 Linux 上用 xclip 代替:xclip -selection clipboard -o | jq '.' | xclip -selection clipboard 但是我发现这里有一个小问题:如果我运行这个,而我的剪贴板上的文本不是 JSON,则 jq 会以非零代码退出,并输出类似于 parse error: Invalid numeric literal at line 1, column 6 的内容到 stderr,stdout 里什么都没有。管道并不在乎非零退出代码,所以我们用空字符串覆盖了剪贴板上的任何内容。因此,让我们添加一些错误处理:alias jsontidy = "xclip -selection clipboard -o | (jq '.' || xclip -selection clipboard -o) | xclip -selection clipboard" 现在 jsontidy 将格式化剪贴板上的任何内容,如果它可以解析为 JSON,否则将保持不变。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡