Noen ganger ønsker vi å erstatte tekst i en fil, for eksempel endre alt som sier «min familie» til «oss» i Document.txt . For å gjøre dette kan vi bruke vår foretrukne teksteditor (Kate, Gedit, Sublime Text, osv.), men det er alltid lurt å vite om alternativer, andre måter å oppnå samme resultat på.
Det viser seg at dette kan oppnås med regulære uttrykk ; `sed`-kommandoen er rett og slett fantastisk, den har uendelige variasjoner og alternativer, men ... for de som bare vil erstatte tekst på den minst mulig komplekse måten , gir jeg deg denne mye enklere varianten:
Etter eksemplet har vi filen Document.txt plassert i $HOME/Document.txt med følgende tekst:
Familien min er som alle andres, som din eller naboens. Faktisk prøver familien min å være ansvarlige mennesker i samfunnets øyne, politisk og sosialt korrekte. Men det er en svart får i huset mitt, og det er min rolle, LOL! Jeg har alltid vært den som ikke er redd for å si hva jeg mener (selv om det ikke er sosialt akseptabelt), selv om familien min i realiteten er lei av dagens
rotete samfunn.
Følgende kommando vil endre « min familie » til « oss »:
perl -pi -e "s[mi familia][nosotros]g" $HOME/Documento.txt
Så enkelt er det 
Så teksten ville være:
(…) vi er som alle andres, som dine eller naboens. Faktisk prøver vi å være ansvarlige mennesker i samfunnets øyne, politisk og sosialt korrekte. Men det er en svart får i huset mitt, og det er min rolle, LOL! Jeg har alltid vært den som ikke er redd for å si hva jeg mener (selv om det ikke tilsynelatende er riktig i samfunnets øyne), selv om familien min i virkeligheten er lei av dagens samfunns
skittenhet .
Syntaksen er:
perl -pi -e "s[lo-que-quiero-cambiar][lo-nuevo-a-poner]g" archivo-en-el-cual-reemplazar
Kommandoen kan virke litt kompleks, la oss bryte den ned litt og forklare den litt enklere 
- perl : Hva vi skal bruke, perl
- -pi : Pi, hvordan π (tilnærmet verdi 3.14)
- -e : E forestill deg det for «e å utføre» ^ - ^
- Så i sitater » vi åpner med en s og vi avslutter med en g: "sg" …forestill deg S for Start og G for Game Over 
- Snu mellom sg vi må sette to sett med parenteser: [] y [], å være slik: "S [] [] g"
- Inne i de første parentesene som jeg sa ovenfor, vil teksten som vi vil fjerne og erstatte med en ny gå, mens i det andre settet med parentes vil den nye teksten å sette, følge eksemplet: "S [min familie] [vi] g"
Enkelt er det ikke?
Forklaringen er faktisk mye lengre enn det som er nødvendig for kommandoen, den er ganske enkel å forstå 
Perl er mye, mye mer enn en måte å erstatte tekst på, det er et helt språk 
Hvis du vil lære mer om det, installer perl-doc- pakken og ta en titt på alt den tillater; det er rett og slett et annet univers.
Forresten og for å lukke, forutsatt at du vil finne alle .txt-filene du har i $ HOME / Documents / og i hver enkelt erstatte "familien min" med "oss", kan du bli med i find + perl for å oppnå dette:
find $HOME/Documentos/ -name *.txt -exec perl -p -i -e "s[mi familia][nosotros]g" {} \;
Eller bruke et jokertegn:
perl -p -i -e "s[mi familia][nosotros]g" $HOME/Documentos/*.txt
Problemet med denne andre varianten er at den ikke vil erstatte filer som er i undermapper 
Uansett, jeg håper du fant det interessant. For meg har det vært veldig nyttig, jeg kan nå erstatte tekst direkte fra terminalen... flott! 