【问题标题】:prerty print jq bash漂亮的打印 jq bash
【发布时间】:2020-05-06 15:24:31
【问题描述】:

我需要在 bash 中打印一个 json 文件,文件的每个元素都适合一行。

有几个元素有很多字符,当我打印它时,它们需要几行。

我想找到一种 bash 打印开头 + $ 的方法。美元符号表示没有显示附加文本。

感谢您的帮助。

杰拉德

【问题讨论】:

  • 请在您的问题中添加示例输入(无描述、无图像、无链接)和该示例输入所需的输出(无评论)。

标签: bash jq


【解决方案1】:

这个脚本是这样做的:

#!/bin/bash

LEN=$1

# If no length has been provided as argument,
# using the terminal width-1 as default.
if [[ -z $LEN ]]; then
    LEN=$(tput cols)
    let LEN=LEN-1
fi

IFS=''
while read LINE; do
    [[ ${#LINE} -ge $LEN ]] && LINE="${LINE:0:$LEN}$"
    echo "$LINE"
done < /dev/stdin

将其保存为trim.sh 并像这样使用:

jq . your.json | ./trim.sh 25

参数值 25 是所需的长度。省略它以默认使用终端窗口宽度。

唯一需要注意的是禁用jq 的颜色输出。您可以使用-C 参数强制启用它jq,但它会破坏脚本的输出。不知道如何解决。

【讨论】:

    猜你喜欢
    • 2021-06-22
    • 1970-01-01
    • 2016-07-07
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 2011-09-08
    相关资源
    最近更新 更多