此问题已在此处有答案:
Parsing JSON with Unix tools(47回答)
4天前关闭。
如何在shell中进行字典结构?我的目标是生成随机单词。例如,脏鱼,好书,丑陋的钢琴或pesante pasta,giallo cane......其js代码如下所示
words ={
"italian" :
{
"name" :
[
"gatto",
"cane",
"pasta",
"telefono",
"libro"
],
"adjective" :
[
"pesante",
"sottile",
"giallo",
"stretto",
]
},
"english" :
{
"name" :
[
"fish",
"book",
"guitar",
"piano",
],
"adjective" :
[
"dirty",
"good",
"ugly",
"great",
]
}}
我想要这个
words[english][adjective][1]
>> good
2条答案
按热度按时间ht4b089n1#
shell本身不能存储复杂的数据结构,但与shell中的大多数情况一样,您可以使用外部工具,我在这里演示了6种不同的解决方案,都是在Unix* 类shell中:
首先,您的
JSON
已损坏,这是file.js
中的有效版本:使用jq
输出:
使用
jq
和RANDOM
shell变量:jq,参见tutorial。
使用rhino
输出:
使用node.js
输出:
使用perl
让我们在perl命令行中解析DS:
输出:
使用python
输出:
使用ruby
输出:
wswtfjt72#
使用纯bash 3.2+无依赖(如jq、python、grep等):
输出:
Try it。