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

関連情報