Perl - Bytter ut en fil

Utgave

Når jeg er i mitt favorittskall, bærer jeg erstatning via:

 perl -pi-s '/ lib \ / nagios / lib64 \ / nagios / g' /etc/nagios/nrpe.cfg 

Jeg vil gjerne bruke denne utskiftningsfilen, men bruk et skript i Perl, for ikke å kjøre på nettet

Og jeg finner det dumt å bruke a

 system ("perl -pi-e 's / lib \ / nagios / lib64 \ / nagios / g' /etc/nagios/nrpe.cfg") 

hvordan gjør jeg ideer?

Løsning

Du kan bruke dette:

 $ file = "/etc/nagios/nrpe.cfg"; åpne (FILE, "<$ file"); @lines =; lukk FIL; åpne (STDOUT, "> $ file"); for (@lines) {s + lib / nagios + lib64 / nagios + g; skrive ut; } lukk STDOUT; 

Merk

Takk til Dubcek for dette tipset.

Forrige Artikkel Neste Artikkel

Beste Tips