cómo hacer que sed reemplace parte de una línea que comienza con un rango de números

cómo hacer que sed reemplace parte de una línea que comienza con un rango de números

¿Cómo puedo hacer que sed o perl realice los siguientes cambios en una línea desde:

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

a:

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

para todas las líneas que comienzan [0-9]. En vi esto funciona:

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

Respuesta1

Para el equivalente de su vicomando, en perl:

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

O:

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

O:

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

información relacionada