Byta ord i en textfil kan åstadkommas på olika sätt inom operativsystemet Linux . Den " sed " kommandot och Perl programmeringsspråk är två metoder som använder liknande syntax inom kommandona . Båda metoderna används från Linux kommandorad . Du kan också ange en exakt sträng eller ett reguljärt uttryck i båda metoderna . Ett reguljärt uttryck är ett sätt att använda jokertecken ( specialtecken ) för mönstermatchning . Sed
Sed är en strömeditor för Unix och Linux operativsystem . Den kan användas för att manipulera text på olika sätt , bland annat söka efter och ersätta strängar som finns inom textfiler . Den grundläggande formatet för substitution med sed är :
SED -i " s /find_string /replace_string /g " filnamn
" -i " alternativet säger att redigera text inline . Med andra ord , är filen redigeras utan att skapa en ny fil . Den " s /find_string /replace_string /g " avsnittet säger att ersätta ( " s " ) den " replace_string " för " find_string " globalt ( " g " ) . Den sista delen av kommandot ( " filnamn " ) är namnet på den fil som ska redigeras .
P Om du vill behålla en kopia av den ursprungliga filen , kan du utelämna " -i " alternativet och ange en utfil som:
sed " s /find_string /replace_string /g " filename > utgång
p Om du utelämnar " g " delen av kommandot , sed byt bara den första förekomsten av " find_string " och sluta .
Perl
Perl är ett programmeringsspråk som kan användas från kommandoraden för att manipulera textfiler . Perl skapades av Larry Wall för att manipulera ASCII rapporter effektivt . Perl metod för att söka efter och ersätta strängar liknar sed kommandot
. Formatet är följande :
perl - pi - e ' s /find_string /replace_string /g ' filnamn
" p " alternativet säger att slinga genom sök - och - ersätt . kod. Detta är nödvändigt för att söka och ersätta att bearbetas korrekt . Som med sed , säger " - jag " alternativet att bearbeta filen inline . Om du tar bort det här alternativet måste du ange en utfil . Perl kan du ange en backup-fil med " -i " alternativet genom att skriva backup förlängningen efter " I " ( till exempel " i.bak " ) . Den " - e " alternativet säger att köra kommandot " s /hitta /byta /g. . " Återigen , ta bort " g " delen av kommandot stoppar ersätta processen efter att hitta den första förekomsten av söksträngen . Addera