generated at
n個のScrapbox import用jsonを1個のファイルにマージする

bash
find *.json -print0 | xargs -0 cat | jq '.pages[]' | jq -s '{ "pages": . }' > import.json

findですべて取得し、1つにして出力する
上限はなくなった(少しずつimportしてくれる)


Scrapboxにインポートするための2つのjsonがある
本A.json
{ "pages": [ { "title": "本A P001", "lines": [ { "text": "本A P001" }, { "text": "本文…" }, ...(略) ] }, { "title": "本A P002", "lines": [ { "text": "本A P002" }, { "text": "本文…" }, ...(略) ] }, ...(略) ]}
本B.json
{ "pages": [ { "title": "本B P001", "lines": [ { "text": "本B P001" }, { "text": "本文…" }, ...(略) ] }, { "title": "本B P002", "lines": [ { "text": "本B P002" }, { "text": "本文…" }, ...(略) ] }, ...(略) ]}

2ファイルなら2回インポートをすればよいが、nファイルになると1度で済ませたい
どう1つにするか

jqコマンドでできる?
できそう

という事は以下の手順で処理すればnつのjsonを1つのjsonにマージできそう
jsonファイルを取得
jsonをパースして特定keyの中身を取り出す
並べて配列にする
元のjsonオブジェクトに戻す

上記の手順を 本A.json 本B.json の仕様で考えると
本A.json 本B.json をそれぞれ取得
jsonをパースして pages keyの配列を取り出す
並べて配列にする
pages keyに戻す

ファイルを取得する際に困った
最初は ls とかで取得しようと思っていたが、スペースが含まれるファイルが混じる時に困る
これ何度かハマった記憶がある…
findで一覧取得してxargsで1ファイルずつ処理するんだっけ…?