我有一个文件有很多字段,所以我设法使用
提取我需要的部分数据variable= awk -F "," '{print $2}' filename.txt
我得到的字符串是
"client":"c62e-c5a9-4611-91c6-118b4ee"
所以现在我想尝试将此字符串更改为
export client=c62e-c5a9-4611-91c6-118b4ee
当我尝试
时variable2= awk -F """ '{print $4}' $variable
它不起作用,因为我的计划是先拉这个字符串 62e-c5a9-4611-91c6-118b4ee 然后追加 export client = inf前面,但我也不能这样做。
有人可以通过awk或sed帮助我,让我得到理想的结果会很感激。
感谢
更新,这里是完成的代码,根据请求我将带有示例输出的屏蔽代码我正在寻找。
{"name":"metering","client":"c62e-c5a9-4611-91c6-118b4ee","client_s":"roubhaofga4mm67ncd6","audience":["metering","c68f932e-c5a9-4611-91c6-118b4ef840fe"],"acces_allowed_types":["BEARER"],"grant_types":["CLIENT_CREDENTIALS"],"subject_type":"PUBLIC","access_t":"BEARER","id_t":"UNSIGNED_JWT","resource_":"ACCESS","resource_level":"PUBLIC","token_expiration":3600,"refresh":604800,"scopes":[{"name":"metering","description":"metering"}],"client_method":"CLPOST"}
我做的是
variable= awk -F "," '{print $2}' filename.txt
echo $variable
我得到的输出是
"client":"c62e-c5a9-4611-91c6-118b4ee"
我想要的是
export client=c62e-c5a9-4611-91c6-118b4ee
答案 0 :(得分:1)
我可以在相等和你的命令之间看到一些空格,它也不会包含在$
中。
var=$(your command)
因为您还没有向我们展示示例输入,所以根据您显示的内容。
echo "$your_variable" | awk '{gsub("\042","");sub(/:/,"=");print "export",$0}'
虽然如果你能够更准确地向我们展示一些样本输入和样本预期输出,那么可以对此有所帮助。