como fazer com que o sed substitua parte de uma linha que começa com um intervalo de números

como fazer com que o sed substitua parte de uma linha que começa com um intervalo de números

Como posso fazer com que sed ou perl faça as seguintes alterações em uma linha de:

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

para:

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

para todas as linhas que começam com [0-9]. No vi isso funciona:

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

Responder1

Para o equivalente ao seu vicomando, em perl:

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

Ou:

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

Ou:

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

informação relacionada