숫자 범위로 시작하는 줄의 일부를 대체하도록 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

관련 정보