У меня есть файл с именем source.txt, который содержит следующие строки: -
the
quick
brown
fox
jumped
over
the
lazy
dog
Я хочу найти строку 'fox' и удалить ее и все последующие строки, вплоть до строки 'over' включительно. Затем я хочу вставить содержимое другого файла (fruit.txt) вместо этих строк. Фрукт содержит: -
apples
bananas
pears
Таким образом, результатом должен быть файл, который выглядит следующим образом: -
the
quick
brown
apples
bananas
pears
the
lazy
dog
Я думаю, что это будет возможно сделать с помощью команды sed.
Эта команда успешно удаляет строки: -
sed -i -e '/fox/,/over/d' source.txt
И эта команда почти работает, но вставляет содержимое файла fruit.txt три раза, по одному для каждой подходящей строки: -
sed -i -e '/fox/,/over/{r fruit.txt' -e 'd}' source.txt
Любая помощь будет принята с благодарностью!