admin 发表于 2024-1-15 12:01:16

Linux jq命令格式化输出


如何将` [{"key1":"val1","key2":"val2"},{"key1":"val3","key2":"val4"}]`用jq命令输出为

```
val1:val2
val3:val4
```

可以使用以下 jq 命令::

```
jq -r '.[] | "\( .key1 ):\( .key2 )"'
```

以上命令将首先使用 . 运算符选择数组中的每个元素。然后,使用 | 运算符将每个元素传递给管道。管道中的 `"\( .key1 ):\( .key2 )"` 表达式将每个元素的 `key1` 和 `key2` 值组合成一个字符串,并使用冒号分隔。最后,使用 `-r` 选项将输出格式化为原始字符串。

以下是如何使用该命令的示例:

```
$ echo '[{"key1":"val1","key2":"val2"},{"key1":"val3","key2":"val4"}]' | jq -r '.[] | "\( .key1 ):\( .key2 )"'
val1:val2
val3:val4
```
以上命令将输出:

```
val1:val2
val3:val4
```
页: [1]
查看完整版本: Linux jq命令格式化输出