bash - 从字符串 JQ 的一部分中删除双引号
问题描述
我无法从传递给 JQ 的日期中删除双引号。知道我该怎么做吗?-r 似乎没有奏效。
curl SOMETHING | jq -r --arg date $(date +"%s") '.payload.overallStatus | [$date, .totalTimeSpent, .totalRecords, .totalDuplicates]'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 607 100 607 0 0 10649 0 --:--:-- --:--:-- --:--:-- 10649
[
"1594330317",
15802,
89004346,
10
]
(我计划添加 | @csv 选项将输出转换为一行 csv)
解决方案
使用tonumber
. 您需要使用括号不要更改数组其余元素的上下文。
[($date | tonumber), .totalTimeSpent, .totalRecords, .totalDuplicates]
没有括号,表达式等价于
[$date | (tonumber, .totalTimeSpent, .totalRecords, .totalDuplicates)]
推荐阅读
- ios - 无法使用 Swift 解码 JSON 响应
- javascript - 自定义函数不存在引用 - 谷歌脚本
- c - “prctl(PR_SET_PDEATHSIG, SIGKILL)”是怎么做的
- javascript - 如何在 localhost 中进行简单的聊天/存储消息?
- unity3d - Unity GetComponent 获取基类——而不是派生类
- python-3.x - 将 pandas 数据框的所有索引值更改为一个范围
- c# - 双击包含 popModalAsync 的按钮时崩溃
- fluent - 返回子值和兄弟值作为响应
- html - Sass 样式不适用
- python - Pandas 绑定到左对齐 groupby 之后的第二个索引