У меня есть тонны данных JSON, готовых к публикации в БД через CURL. Но БД требует, чтобы начало и конец JSON форматировались определенным образом. Чтобы не настраивать огромный набор данных файлов, переходя к каждому из них, добавляя и добавляя строки ... Я хотел бы просто указать дополнительный начальный и конечный текст в командной строке вокруг файла. Я не считаю редактирование файлов с помощью скрипта кошерным решением, поэтому неправильно связываться с таким нетронутым потоком данных напрямую.
Вместо этого я нашел следующий мэшап как достойный способ сделать это:
curl -d "prepend_string`cat filename.json`append_string" \
-X POST http://localhost:5984/database/_bulk_docs \
-H "Content-Type: application/json"
Но это имеет свои ограничения, потому что в приведенном выше сценарии все данные переносятся в командную строку из файла, а затем публикуются. Поскольку реальные файлы довольно велики, любой может столкнуться с ошибками вроде:
-bash: /opt/local/bin/curl: Argument list too long
Так, для CURL, возможно ли каким-то образом объединить строку cmd и данные файла так, чтобы они были успешно опубликованы (по curl), как в трех отдельных частях?
#(this is make believe syntax)
-d "prepend_string" + @filename.json + "append_string"