Я думаю, что стилдрайвер прав в своем последнем комментарии. Я частый пользователь Cygwin и видел странные вещи, происходящие с текстом, который я по ошибке не вернул каретке -.
Давайте проведем эксперимент. У меня есть очень простая выжимка вашего сценария:
result="$(cat $1)"
result="{\"docs\":[$result]}"
echo $result
Мой ввод
{"_id":"VT_CONSULTATION","name":"External Consultation","type":"VISIT_TYPE","sections":["HS_SECTION_AMBU"],"displayFields":[{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_IS_ACNC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_MAIN_DIAGNOSTIC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_IS_CONTROL_CONSULTATION","displayTrueValue":"Control visit","displayFalseValue":""}],"_rev":"rev"}
Запуск с правильными окончаниями строк:
{"docs":[{"_id":"VT_CONSULTATION","name":"External Consultation","type":"VISIT_TYPE","sections":["HS_SECTION_AMBU"],"displayFields":[{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_IS_ACNC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_MAIN_DIAGNOSTIC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_IS_CONTROL_CONSULTATION","displayTrueValue":"Control visit","displayFalseValue":""}],"_rev":"rev"}]}
Это то, что мы ожидаем.
Теперь я добавляю возврат каретки к строке ввода (с помощью Ctrl -K+Ctrl -M в vim )и запускаю снова:
{"docs":[{"_id":"VT_CONSULTATION","name":"External Consultation","type":"VISIT_TYPE","sections":["HS_SECTION_AMBU"],"displayFields":[{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_IS_ACNC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_MAIN_DIAGNOSTIC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeI]}:"EVT_IS_CONTROL_CONSULTATION","displayTrueValue":"Control visit","displayFalseValue":""}],"_rev":"rev"}
Ой. Посмотрите, где окончательный ]}
оказался (прямо перед "EVT _IS _CONTROL _CONSULTATION" ). Они не смещены точно так же, как у вас, но это подозрительное сходство.
Подобные эффекты могут быть вызваны другими управляющими символами. Простой способ проверить, существуют ли такие символы, — использовать grep '[^[:print:]]'
, который ищет любые «не -печатаемые» символы (, то есть невидимые вещи, такие как управляющие символы ). Если grep возвращает что-либо, подтверждающее это, в этот момент существуют различные способы найти и исправить оскорбительный символ (s ). Например, вы можете использовать одно и то же регулярное выражение с sed . Или используйте шестнадцатеричный редактор (или даже vim/xxd ). Если это CR, то должна выполняться та же команда sed, что и OP:sed 's/\r//g'
Вы не можете по цепочке -загрузить 64 -битный исполняемый файл из 32 -битного, но верно и обратное :32 -битный один может быть цепочкой -загружен из 64 -битная версия, но зачем вам это? Просто обновите существующую до 64 -бит и вместо этого объедините файлы конфигурации.
Если вы пытаетесь сделать это, потому что у вас 32 -битная прошивка EFI, вам может не повезти :, даже если ваш ЦП может поддерживать 64 -бит (, вы проверяли? ), вам необходимо сначала обновить прошивку с сайта производителя, но, к сожалению, большинство мелких брендов не заинтересованы в том, чтобы вы могли обновить прошивку с 32 до 64 бит:они предпочли бы, чтобы вы купили новый ПК.
Если у вас крупный бренд :, сначала зайдите на сайт производителя.