Udskiftning af ord i en tekstfil kan opnås på forskellige måder inden for Linux operativsystem. Den " sed " kommando og Perl programmeringssprog er to metoder , der bruger lignende syntaks inden kommandoerne. Begge metoder anvendes fra Linux kommandolinjen. Også , kan du angive en nøjagtig streng eller et regulært udtryk i begge metoder . Et regulært udtryk er en måde at bruge wildcards ( specialtegn) for mønstertilpasning . Sed
Sed er en strøm redaktør for Unix og Linux operativsystemer . Det kan bruges til at manipulere tekst på forskellige måder , herunder at søge efter og erstatte strenge findes inden tekstfiler. Det grundlæggende format for substitution med sed er : Hej
sed -i " s /find_string /replace_string /g " filename
" -i " valgmulighed siger at redigere teksten inline . Med andre ord , er filen redigeres uden at skabe en anden fil . Den " s /find_string /replace_string /g " sektionen siger at erstatte ( "s" ) af " replace_string " til " find_string " globalt ( "g" ) . Den sidste del af kommandoen ( " filename" ) er navnet på den fil, der skal redigeres.
P Hvis du ønsker at beholde en kopi af den originale fil , kan du udelade de " -i " indstilling og angive en output-fil som:
sed " s /find_string /replace_string /g " filename> output
p Hvis du udelader " g " del af kommandoen, sed udskift kun den første forekomst af " find_string ", og stoppe.
Perl
Perl er et programmeringssprog, der kan bruges fra kommandolinjen for at manipulere tekstfiler . Perl blev skabt af Larry Wall at manipulere ASCII tekst rapporter effektivt.
Perl metode til at søge efter og erstatte strenge svarer til sed kommando. Formatet er som følger : Hej
perl -pi - e ' s /find_string /replace_string /g ' filename
"p" valgmulighed siger til løkken gennem søg-og -erstat . kode . Dette er nødvendigt for søg og erstat skal behandles rigtigt. Som med sed , siger " -i " mulighed for at behandle filen inline . Hvis du fjerner denne mulighed, skal du angive en output -fil. Perl tillader dig at angive en backup-fil med " -i " option ved at skrive backup forlængelse efter "i" ( for eksempel " i.bak "). Den " - e " valgmulighed siger at udføre kommandoen " s /find /erstat /g ". Igen fjerne " g " del af kommandoen stopper udskiftningsprocessen efter at finde den første forekomst af søgestrengen .