如何讓 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

相關內容