как заставить sed заменить часть строки, которая начинается с диапазона цифр

как заставить sed заменить часть строки, которая начинается с диапазона цифр

Как заставить sed или perl внести следующие изменения в строку:

41 * * * * /vend/oracle/util/bin/rmp_udump.ksh

к:

##SHUTDOWN_MAINT##41 * * * /vend/oracle/util/bin

для всех строк, начинающихся с [0-9]. В vi это работает:

%s/^[0-9].*/##SHUTDOWN_MAINT##&/

решение1

Для эквивалента вашей viкоманды, в perl:

perl -pi -e 's/^\d/##SHUTDOWN_MAINT##$&/' your-file

Или:

perl -pi -e 's/^(?=\d)/##SHUTDOWN_MAINT##/' your-file

Или:

perl -pi -e '$_ = "##SHUTDOWN_MAINT##$_" if /^\d/' your-file

Связанный контент