使用bash创建嵌套的对象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

我有一个小的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,"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服务器上。