【问题标题】:add prefix in shell script to json resonse在 shell 脚本中添加前缀到 json 响应
【发布时间】:2021-11-27 20:54:26
【问题描述】:

我想从命中端点的输出中为字段添加一些前缀。

file.sh

result=$(curl -s <someEndpoint>)
echo $result

我有一个定时任务来定期访问那个端点;

* * * * * /root/file.sh | jq .field > /root/file.txt 2>&1

我需要在 .field 中添加“开始”。 我创建了另一个 file2.sh:

prefix="start"
val=$(cat /root/file.txt)
concat="${prefix}${val}"
echo $concat

输出看起来像: 开始“file.txt 中的值”

我想要“从 file.txt 开始值”。我该怎么做?

【问题讨论】:

  • 价值从何而来?文件.txt?
  • @LMC val 来自file.txt。我正在阅读这可以由jq 自己处理,但不知道我该怎么做。
  • 你应该引用变量:echo "$result"
  • 或者完全摆脱变量。只需运行curl,它的输出就会写入文件。

标签: bash shell cron


【解决方案1】:

似乎更好的解决方案是使用jq -r .field 来输出纯文本而不是JSON 字符串,但由于您明确希望使用json,您可以再次使用jq

$ echo '"string"' | jq '"start" + .'
"startstring"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 2013-06-04
    • 2014-07-23
    • 2012-02-18
    • 2014-10-21
    • 2013-05-25
    相关资源
    最近更新 更多