Вы хотите строки от file2 до /start/
, затем строки из file1 между маркерами и, наконец, результирующие строки из файла 2.
Если вы игнорируете границы, это будет
(
sed -n "1,/start/p" file2
sed -n "/start/,/end/p" file1
sed -n "/end/,$ p" file2
) > /tmp/outputfile
Граничные проблемы - это двойные теги start / stop, и что произойдет, когда file2 начинается с /start/
или заканчивается /end/
.
Вы можете исправить граничные проблемы с
(
sed "/start/,$ d" file2
sed -n "/start/,/end/p" file1
sed "1,/end/ d" file2
) > /tmp/outputfile