sed

sed Kommando for å erstatte en streng i en fil

sed Kommando for å erstatte en streng i en fil
Når vi jobber med noen slags filer, er det en veldig vanlig praksis å gjøre endringer på disse filene ved å finne og erstatte ord. De fleste av tekstredigererne gir forskjellige GUI-baserte metoder for å utføre disse modifikasjonene. Noen ganger trenger du imidlertid en måte å finne og erstatte ordene i en fil via terminalen. Derfor vil vi i denne artikkelen gå gjennom metoden for å bruke kommandoen sed for å erstatte en streng i en tekstfil. Vi vil også kaste lys over de forskjellige scenariene der denne kommandoen kan brukes.

Merk: Vi bruker Linux Mint 20 for å demonstrere bruken av sed-kommandoen for å erstatte en streng i en fil. Du kan også bruke en hvilken som helst annen smak av Linux hvis du ønsker det.

Bruk av sed Command:

Nå skal vi vise deg noen veldig interessante eksempler for å skildre bruken av sed-kommandoen i Linux. La oss se hvordan denne kommandoen fungerer i forskjellige scenarier.

Opprette en tekstfil for demonstrasjon:

For å demonstrere bruken av sed-kommandoen, vil vi jobbe med en tekstfil. Du kan imidlertid til og med lage en Bash-fil eller hvilken som helst annen fil du ønsker. For det andre vil vi opprette filen i Hjem-katalogen slik at vi ikke trenger å spesifisere noen komplekse baner mens vi får tilgang til denne filen. Følgende trinn skal utføres for å lage en tekstfil:

Klikk på File Manager-ikonet på Linux Mint 20-oppgavelinjen:

Opprett nå en ny tekstfil i hjemmekatalogen ved å høyreklikke hvor som helst der borte og deretter velge alternativet Nytt dokument fra kaskademenyen og Tøm dokumentalternativet fra underkaskademenyen. Når tekstfilen er opprettet, gi den et passende navn. For dette spesielle eksemplet har jeg kalt det som sed.tekst.

Dobbeltklikk på denne filen for å åpne den og skriv hvilken som helst tilfeldig tekst i den som vist på bildet nedenfor. Lagre denne tekstfilen ved å trykke Ctrl + S og lukk den.

Start nå terminalen i Linux Mint 20 som vist i følgende bilde:

Etter at du har startet terminalen i Linux Mint 20, kan du gå gjennom alle eksemplene nevnt nedenfor en etter en.

Bruke sed-kommandoen for å erstatte alle forekomster av et gitt ord:

Du kan bruke kommandoen sed for å erstatte alle forekomster av et gitt ord i en tekstfil. Syntaksen for å nå dette målet er nevnt nedenfor:

$ sed 's / sed / FindWord / ReplaceWord /' fil.tekst

Her må du erstatte FindWord med ordet du vil erstatte, og ReplaceWord med ordet som skal erstattes. Videre må du også erstatte “fil” med navnet på filen der du vil gjøre disse erstatningene. I dette scenariet har jeg erstattet FindWord med sed og ReplaceWord med erstatt. Filnavnet vårt ble sed.tekst. Det vises også i følgende bilde:

Den vellykkede kjøringen av denne kommandoen vil vise deg endringene som har skjedd på grunn av at du kjører denne kommandoen på terminalen din:

Ved å bruke kommandoen sed for å erstatte den niende forekomsten av et gitt ord i hver linje:

Ovenstående scenario var det enkleste erstatningsscenariet, men til tider vil du ikke erstatte alle forekomster av et ord, men du vil bare erstatte den første, andre eller nte forekomsten av ordet i alle linjene. For å gjøre dette kan du utføre følgende kommando:

$ sed 's / FindWord / ReplaceWord / num' fil.tekst

Her må du erstatte FindWord med ordet du vil erstatte, og ReplaceWord med ordet som skal erstattes. Videre må du også erstatte “fil” med navnet på filen der du vil gjøre disse erstatningene. I dette scenariet har jeg erstattet FindWord erstatt og Erstatt ord med sed. Filnavnet vårt ble sed.tekst. Også num refererer til forekomsten eller plasseringen av ordet som skal erstattes. I det demonstrerte eksemplet vil jeg erstatte den første forekomsten av erstatning med sed i hver linje som vist på bildet nedenfor:

Den vellykkede kjøringen av denne kommandoen vil vise deg endringene som har skjedd på grunn av at du kjører denne kommandoen på terminalen din:

Bruke sed-kommandoen for å erstatte et gitt ord i en bestemt linje:

Noen ganger vil du bare erstatte et gitt ord i en bestemt linje og ikke i hele dokumentet. For å gjøre det må du eksplisitt spesifisere det bestemte linjenummeret i følgende kommando:

$ sed 'LineNum s / FindWord / ReplaceWord /' fil.tekst

Her må du erstatte FindWord med ordet du vil erstatte, og ReplaceWord med ordet som skal erstattes. Videre må du også erstatte "fil" med navnet på filen der du vil gjøre disse erstatningene. I dette scenariet har jeg erstattet FindWord sed og ReplaceWord med erstatt. Filnavnet vårt ble sed.tekst. Du må også erstatte LineNum med linjenummeret på den aktuelle linjen du vil erstatte. I dette eksemplet ønsket vi å erstatte sed med erstatte i linje nummer 2 i filen vår som vist i følgende bilde:

Den vellykkede kjøringen av denne kommandoen viser deg endringene som har skjedd på grunn av at du kjører denne kommandoen på terminalen din. Du kan enkelt bekrefte at de nevnte endringene bare har skjedd på linje nummer 2 i filen vår, og ikke i hele teksten.

Konklusjon:

Når du føler behov for å erstatte et ord i en fil, er det aller første du trenger å gjøre å identifisere ditt spesifikke krav i.e. om du vil erstatte det spesifikke ordet i hele filen, eller om du vil erstatte en bestemt forekomst av det bestemte ordet, eller om du vil erstatte det ordet i en bestemt linje. Når du har identifisert ditt spesifikke scenario, kan du bruke den spesifikke metoden fra eksemplene som er diskutert i denne artikkelen.

Mus WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
Hvis du vil forbedre standardfunksjonene til musepekeren, bruk freeware WinMouse. Det legger til flere funksjoner som hjelper deg å få mest mulig ut a...
Mus Mus venstreklikknapp fungerer ikke på Windows 10
Mus venstreklikknapp fungerer ikke på Windows 10
Hvis du bruker en dedikert mus med den bærbare eller stasjonære datamaskinen, men museklikk-knappen fungerer ikke på Windows 10/8/7 av en eller annen ...
Mus Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Hvis du finner ut at musemarkøren hopper eller beveger seg alene, automatisk, tilfeldig mens du skriver inn Windows-bærbar PC eller datamaskin, kan no...