У меня есть два файла. Первый содержит 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
После этих команд содержание второго файла было помещено в конце первого файла вместо места, которое я хотел.
Там какой-либо другой путь состоит в том, чтобы достигнуть моего желаемого вывода?
Я не думаю, что можно добраться 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>');