wie man sed dazu bringt, einen Teil einer Zeile zu ersetzen, der mit einem Zahlenbereich beginnt

wie man sed dazu bringt, einen Teil einer Zeile zu ersetzen, der mit einem Zahlenbereich beginnt

Wie kann ich sed oder Perl dazu bringen, die folgenden Änderungen an einer Zeile von vorzunehmen:

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

Zu:

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

für alle Zeilen, die mit [0-9] beginnen. In vi funktioniert das:

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

Antwort1

Für das Äquivalent Ihres viBefehls in perl:

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

Oder:

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

Oder:

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

verwandte Informationen