2.2. Erstatning af tekst i flere filer

Ofte kommer man ud for at skulle erstatte tekst i filer. Nogle gange er det nemmest at starte en emacs- eller vi-editor op og blot rette filen til. Andre gange skal man lave samme rettelse i mange filer, og så er det meget nyttigt at kunne en smule shell og Perl. Antag f.eks. at man i alle .txt-filer skal erstatte "Windows" med "Linux". Det kan gøres med følgende lille script som kan udføres direkte i kommandofortolkeren.


[tyge@hven ~]$ for I in *.txt
 do
   perl -pi.bak -e 's/Windows/Linux/g' $I
 done


Denne operation efterlader en .bak-fil for hver fil du laver søg-og-erstat i (bare for en sikkerheds skyld).