微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BASH 脚本从另一个 .txt 文件读取变量

如何解决BASH 脚本从另一个 .txt 文件读取变量

我有 output.txt 文件,我的脚本在其中存储了一些输出,我只需要获取位于 myscript.sh 文件中 output.txt 第一行中的 ID 的输出,有人可以建议一种方法吗?这样做

{"id":"**dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf**","name":"new","url":"https://dev.azure.com/vishalmishra2424/82c93136-470c-4be0-b6da-a8234f49a695/_apis/git/repositories/dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf","project":{"id":"82c93136-470c-4be0-b6da-a8234f49a695","name":"vishalmishra","url":"https://dev.azure.com/vishalmishra2424/_apis/projects/82c93136-470c-4be0-b6da-a8234f49a695","state":"wellFormed","revision":12,"visibility":"public","lastUpdateTime":"2021-04-22T14:24:47.2Z"},"size":0,"remoteUrl":"https://vishalmishra2424@dev.azure.com/vishalmishra2424/vishalmishra/_git/new","sshUrl":"git@ssh.dev.azure.com:v3/vishalmishra2424/vishalmishra/new","webUrl":"https://dev.azure.com/vishalmishra2424/vishalmishra/_git/new","isdisabled":false}

解决方法

您发布的片段看起来像 JSON 和名为 file 的实用程序 它可以猜测不同类型的文件也可以这么说:

$ file output.txt
output.txt: JSON data

您应该使用 JSON-aware 工具来提取 id 的值,例如 jq

$ jq -r '.id' output.txt
**dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf**

jshon

$ jshon -e id < output.txt
"**dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf**"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。