[英]bashscript combine multiple json files into one json
我有一個文件夾,其中包含 json 文件的子文件夾。
我需要編寫一個 bash 腳本,將所有 json 文件組合成一個大的有效 json。
1)首先嘗試使用jq先合並,所有json文件到每個目錄,稍后我需要再次將所有文件合並到一個大文件中。 我沒能成功。 我使用了這個命令:
jq -rs 'reduce .[] as $item ({}; . * $item)'
2) 其他選項是在開頭創建一個 json 文件,以“[” --> 處理所有目錄中的所有文件,並為每個文件 append 的內容 --> append “]”。
我可以僅使用 jq 以第一種方式獲得相同的結果嗎?
一個非常簡單的方法是:
jq -s 'flatten' $target/*/*.json > $merged_json
另一種選擇(如果您需要使用|
):
cat $target/*/*.json | jq -s 'flatten' > $merged_json
或者如果文件太多
find $target/* -name \*json cat {} | jq -s 'flatten' > $merged_json
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.