使用bash创建嵌套的对象json文件
我有一个小的bash脚本,它遍历一个目录及其子目录(media/),并将输出添加到一个json文件中 输出json的行如下所示:使用bash创建嵌套的对象json文件,json,bash,Json,Bash,我有一个小的bash脚本,它遍历一个目录及其子目录(media/),并将输出添加到一个json文件中 输出json的行如下所示: printf '{"id":%s,"foldername":"%s","path":"%s","date":"%s","filename":"%s"},\n' $num "$folder" "/media/$file2" "$fullDate" "$filename" >> /media/files.json json文件如下所示: {"id":1,"f
printf '{"id":%s,"foldername":"%s","path":"%s","date":"%s","filename":"%s"},\n' $num "$folder" "/media/$file2" "$fullDate" "$filename" >> /media/files.json
json文件如下所示:
{"id":1,"foldername":"5101","path":"/media/5101/Musicali10.mp3","date":"2015-08-09:13:16","filename":"Musicali10"},
{"id":2,"foldername":"5101","path":"/media/5101/RumCollora.mp3","date":"2015-08-09:13:16","filename":"RumCollora"}
我想它组在一个文件夹中的所有文件,并输出这样的东西
[ {
"id":1,
"foldername":"5101",
"files":[
{
"path":"/media/5101/Musicali10.mp3",
"date":"2015-08-09:13:16",
"filename":"Musicali10"
},
{
"path":"/media/5101/RumCollora.mp3",
"date":"2015-08-09:13:16",
"filename":"RumCollora"
}
] },
{
"id":2,
"foldername":"3120",
"files":[
{
"path":"/media/3120/Marimba4.mp3",
"date":"2015-08-04:10:15",
"filename":"Marimba4"
},
{
"path":"/media/3120/Rumbidzaishe6.mp3",
"date":"2015-08-04:09:10",
"filename":"Rumbidzaishe6"
}
]
}
]
我的问题是如何创建包含嵌套“files”对象的json文件?我希望每个“foldername”都有一个嵌套的文件列表。到目前为止,我只能使用上面的printf语句将每个文件作为数组输出。您的问题是什么?你试过什么,怎么会失败?您可能只需要一个简单的命令行,我的问题是如何创建一个包含嵌套“files”对象的json文件。我希望每个“foldername”都有一个嵌套的文件列表。到目前为止,我只能使用上面的printf语句将每个文件作为数组输出。我没有jq,但如果可以的话,我可以把它安装在Ubuntu服务器上。