我试图用来jq解析来自TVDB api的信息。我需要提取几个字段,并将值分配给可以在bash脚本中继续使用的变量。我知道我可以通过bash轻松地将输出分配给一个变量,variable="$(command)"但是我需要输出来产生多个变量,并且我不想使用多个命令。
我阅读了此文档:
https://stedolan.github.io/jq/manual/v1.5/#Advancedfeatures
但我不知道这是否与我要执行的操作有关。
jq '.data' 产生以下输出:
[
{
"absoluteNumber": 51,
"airedEpisodeNumber": 6,
"airedSeason": 4,
"airedSeasonID": 680431,
"dvdEpisodeNumber": 6,
"dvdSeason": 4,
"episodeName": "We Will Rise",
"firstAired": "2017-03-15",
"id": 5939660,
"language": {
"episodeName": "en",
"overview": "en"
},
"lastUpdated": 1490769062,
"overview": "Clarke and Roan must work together in hostile territory in order to deliver an invaluable asset to Abby and her team."
}
]
Run Code Online (Sandbox Code Playgroud)
我尝试过jq '.data | {episodeName:$name}',jq '.data | …
我有一个关于MySQL的问题,但一直无法找到答案.我知道在MySQL中默认启用自动提交.我需要在一个事务中从命令行运行一些更新查询,但我不知道MySQL将如何处理它们.如果我有这样的事情:
mysql -uroot -proot -e 'QUERY 1; QUERY 2; QUERY3'
Run Code Online (Sandbox Code Playgroud)
它会作为一个事务执行还是MySQL会自动提交每个语句?我需要确保原子性.
我试图在我的bash脚本中替换字符串中的引号.我有一个变量,将放在一个mysql查询中,可能有一个单引号.我想替换任何',\'所以我可以逃避任何报价,而不是搞砸了我的查询.
我试过这个测试,但它不起作用:
text="bobby's test"
echo ${text/#'/\\\'}
Run Code Online (Sandbox Code Playgroud)
我做错了什么,或者有没有更好的方法来做到这一点我没有想到的?我更喜欢不必使用sed或任何东西.
bash ×2
atomicity ×1
command-line ×1
jq ×1
mysql ×1
quotes ×1
replace ×1
television ×1
transactions ×1