Как вставить содержание одного файла к точному месту в другом файле

У меня есть два файла. Первый содержит HTML-код:

document.body.innerHTML = document.body.innerHTML.replace('<textarea rows="3"></textarea>', '<textarea rows="3"> inserthere </textarea>');  

Второй файл похож на это:

A B C D E F G  

Я должен поместить содержание второго файла в HTML-код где inserthere . Так, произведите, я хочу:

document.body.innerHTML = document.body.innerHTML.replace('<textarea rows="3"></textarea>', '<textarea rows="3"> A B C D E F G </textarea>');  

или

document.body.innerHTML = document.body.innerHTML.replace('<textarea rows="3"></textarea>', '<textarea rows="3"> A B C D E F Ginserthere </textarea>');  

Что я попробовал:

sed  -e '/inserthere/r file2' -e 'x;$G' file1 > file3 

sed -n -i -e '/inserthere/r file2' -e 1x -e '2,${x;p}' -e '${x;p}' file1  

f2="$(<file2)"
awk -vf2="$f2" '/inserthere/{print f2;print;next}1' file1 

После этих команд содержание второго файла было помещено в конце первого файла вместо места, которое я хотел.

Там какой-либо другой путь состоит в том, чтобы достигнуть моего желаемого вывода?

3
задан 30 November 2016 в 07:00

1 ответ

Я не думаю, что можно добраться r команда в sed заменять текст посреди строки. Можно использовать sed s заменять inserthere с содержанием file2 неэлегантным способом:

sed "s/inserthere/$(cat file2)/" file1 > file3

Объяснение:

  • s замена: /old/new/
  • $(cat file2) передайте вывод cat file2 кому: sed s (управляйте заменой),
  • используйте двойные кавычки для разрешения $ расширение

file3:

document.body.innerHTML = document.body.innerHTML.replace('<textarea rows="3"></textarea>', '<textarea rows="3"> A B C D E F G </textarea>');
5
ответ дан 1 December 2019 в 15:35

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

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