【发布时间】:2020-08-08 20:13:06
【问题描述】:
我有以下命令:
echo "column1, column2, column3" > test.csv &&
cat data.json | jq -r '. | [.["column1"], .["column2"], .["column3"]] | @csv’ >> test.csv
它创建一个列标题和来自data.json 的数据。
我正在尝试将它添加到例如它只会从 column3 中提取包含单词 ("abc") 的数据。
我添加了|select(.column3| startswith ('ab')),所以完整的命令是:
echo "column1, column2, column3" > test.csv &&
cat data.json | jq -r '. | [.["column1"], .["column2"], .["column3"]] |select(.column3| startswith ('ab')) | @csv’ >> test.csv
但我收到以下错误:
-bash: syntax error near unexpected token `('
我的 json.data 看起来像这样:
{
"column1": "hello",
"column2": "bye",
"column3": "abc"
}
如何解析column3?不知道我做错了什么。
【问题讨论】:
-
I added:你是在哪里以及如何添加它的?请发布您尝试过的完整命令。请发布来自data.json的示例数据,以便其他人可以测试。 -
感谢提问,完整命令为:echo "column1, column2, column3" > test.csv && cat data.json | jq -r'。 | [.["column1"], .["column2"], .["column3"]] |select(.column3| 以 ('abc') 开头) | @csv' >> test.csv
-
@KamilCuk 虽然很难提出 Json.data 示例
-
请给出一个
data.json的指示性示例——一个既具有说明性又足以复制错误的示例。 -
@peak 我添加了 json.data { "column1": "hello", "column2": "bye", "column3": "abc" } 的示例