Я заблудился, пытаясь сделать следующую замену с помощью sed:
@ edit: чтобы понять всю сложность моей проблемы,
Я добавил тот факт, что имена файлов содержатся в переменных впоследствии.
Поэтому решения могут напрямую использовать имена файлов.
с учетом переменной I = 'insert.txt':
'insert.txt':
Text I wanna skip.
This is text to insert containing
spaces and new lines
с учетом переменной M = 'toModify.txt':
toModify.txt ':
Insert the new text: here.
Я бы хотел заменить «здесь» из $ M на содержимое
из $ I:
Insert the new text: This is text to insert containing
spaces and new lines.
Я пытался:
sed -e "s/here/$(tail -n2 $I | sed -e 's/ /\\ /g' | tr '\n' '\\n')/" $M
с ошибкой:
sed неопределенная команда `s '
Проблема в том, что я не получаю пробелы и новые строки без завершения команды s.
Есть решение?