Вам не нужно знать, какой диапазон появляется в файле первым. Вы можете написать очевидное:
#/bin/sed -f
/begin1/,/end1/{
# commands specific to range 1
}
/begin2/,/end2/{
# commands specific to range 2
}
, и это просто сработает.
Sed всегда выполняет один проход через свои входы, считывая каждую строку, обрабатывая ее с помощью команд, которые вы ей дали, а затем записывает (или нет, в зависимости от ситуации). Вы можете доказать это, выполнив команду sed в конвейере (поиск по конвейеру невозможен, поэтому многопроходная операция невозможна).
Если в вашей системе есть оба:
chkconfig service off
systemctl disable service
RHEL5 по умолчанию использует chkconfig
. Кроме того, я рекомендую выполнить обновление, поскольку RHEL 5 является EOL с 31 марта 2017 года, если вы не приобрели подписку на расширенную поддержку жизненного цикла -.