Я должен вставить большую строку промежуточные два шаблона с помощью сценария оболочки

У меня есть файл HTML в этом, у меня есть строка комментария как:

<!-- tag1 --><!-- tag11 --> 

Я должен вставить a JQ элемент файла, промежуточный их.

Я попробовал, и я смог вставить маленькую строку, но моя строка является большой в размере. Кто-либо может предложить меня идея?

i=0
code="(jq -r '.["$i"].code' file.json)"; 
eval v=\$$code; 
sed -i 's/(<!-- tag1 -->)\(<!-- tag11 -->)/\1'$v'\2/' index.html;

Это бросило меня ошибка как:

sed: -e expression #1, char 47: unterminated `s' command

Однако:

v="xxxxxxx" 
sed -i 's/(<!-- tag1 -->)\(<!-- tag11 -->)/\1'$v'\2/' index.html;

Строка вставляется отлично, кто-либо может помочь?

1
задан 19 September 2018 в 12:31

1 ответ

Согласно ramruma, Вы могли попытаться поместить длинную строку в файл и затем использовать вставку содержания файла, следующим образом:

sed -i "/teststring/r file1.txt" index.html

Из sed руководства r флаг используется для чтения содержания файла.

3
ответ дан 3 December 2019 в 07:23

Другие вопросы по тегам:

Похожие вопросы: