sed

Hvordan erstatte flere linjer ved hjelp av 'sed' kommandoen

Hvordan erstatte flere linjer ved hjelp av 'sed' kommandoen
Noen ganger krever det å erstatte flere linjer i en fil med et bestemt tegn eller tekst. Det finnes forskjellige kommandoer i Linux for å erstatte flere linjer i en fil. 'sed' kommando er en av dem til å gjøre denne typen oppgaver. Den fulle formen av 'sed' er Steam Editor, og den brukes hovedsakelig til å lese og konvertere teksten på forskjellige måter ved å bruke et vanlig uttrykk. Hvordan denne kommandoen kan brukes til å erstatte flere linjer i en fil på forskjellige måter, er forklart i denne veiledningen.

Vanlig 'sed' Cheat Sheet:

De mest brukte tegnene som brukes i kommandoen 'sed' er forklart i følgende tabell.

Karakter Hensikt
en Den brukes til å legge til innhold.
b Den brukes til forgreningsinnhold.
c Den brukes til å endre innhold.
d Den brukes til å slette en linje i en fil.
D Den brukes til å slette den første linjen i en fil.
g Det pleide å kopiere fra holdeteksten.
G Den brukes til å legge til fra holdeteksten.
h Den brukes til å kopiere i holdeteksten.
H Den brukes til å legge til holdeteksten.
Jeg Den brukes til innsetting.
Jeg Den brukes til å skrive ut erstatningslinjen.
n Den brukes til å gå til neste linje.
N Den brukes til å legge til neste inngangslinje.
s Den brukes til å skrive ut.
P Den brukes til å skrive ut første linje.
q Det brukes til å slutte.
Q Den brukes til å slutte med en gang.
r Den brukes til å lese filen.
R Den brukes til å lese linjen fra filen.
s Det brukes til å erstatte.
t Den brukes til å teste for erstatning.
T Den brukes til å teste for ingen erstatning.
w Den brukes til å skrive til filen.
W Den brukes til å skrive en linje til filen.
x Den brukes til å bytte mønster og holde.
y Den brukes til å oversette.
z Den brukes til å rydde linjen.
'=' Den brukes til å skrive ut linjenummeret.

Bytt ut flere linjer ved å bruke kommandoen 'sed' fra terminalen:

Hvordan kommandoen 'sed' kan brukes til å erstatte flere linjer fra en fil fra terminalen, vises i denne delen av denne veiledningen. Opprett en fil med navnet sed.tekst med følgende innholdstest kommandoene til denne delen.

sed.tekst

Den fulle formen for sed er "stream editor".

Det er et Unix-verktøy som brukes til å lese og konvertere teksten i et annet format.

Den ble utviklet av Lee E. McMahon.

Den brukes til tekstbehandling.

Den støtter vanlige uttrykk.

Eksempel 1: Bytt ut to påfølgende linjer

Følgende 'sed' kommando erstatter to påfølgende linjer med en annen linje. Her blir alternativet -z brukt til å erstatte de påfølgende linjene med null-data før du legger til erstatningsteksten. I følge kommandoen er 3rd og 4th linjene i filen erstattes av teksten, 'Det er et veldig nyttig verktøy'.

$ katt sed.tekst
$ sed -z s / Den ble utviklet av Lee E. McMahon.\ nDet brukes til tekst
behandling./ Det er et veldig nyttig verktøy./ 'sed.tekst

Følgende utdata vises etter at du har kjørt kommandoene.

Eksempel 2: Erstatt flere linjer basert på samsvar og globalt flagg

Følgende 'sed' kommando erstatter alle linjer som begynner med ordet, 'Den' med ordet, 'Denne linjen erstattes '.

$ katt sed.tekst
$ sed 's / ^ Det.* / Denne linjen er erstattet / g 'sed.tekst

Følgende utdata vises etter at du har kjørt kommandoene. Tre linjer inneholder ordet 'Deni filen. Så disse linjene er erstattet av erstatningsteksten.

Eksempel 3: Erstatt flere linjer basert på samsvar og neste linjekommando

Følgende 'sed' kommando erstatter ordet, 'er'med ordet,'var'med neste linjekommando,' n '.

$ katt sed.tekst
$ sed 'n; / is / s / is / was /' sed.tekst

Følgende utdata vises etter at du har kjørt kommandoene. Her, 'er' eksisterer i 2nd og 4th linjer i filen, og disse linjene er endret av ordet 'var'.

Bytt ut flere linjer ved å lage skriptfilen 'sed':

I de foregående eksemplene er 'sed' -kommandoer utført fra terminalen. Men det er et skriptspråk, og hvis skriptet inneholder flere utsagn, er det bedre å lage en sed-fil med skriptet. Lag en tekstfil med navnet studenter.tekst med følgende innhold der 'sed' -skriptet skal brukes.

studenter.tekst

ID: 111045
Navn: Robert
Avdeling: CSE
Parti: 35
ID: 111876
Navn: Joseph
Avdeling: BBA
Parti: 27
ID: 111346
Navn: William
Avdeling: CSE
Parti: 45
ID: 111654
Navn: Charles
Avdeling: EEE
Parti: 41
ID: 111346
Navn: John
Avdeling: CSE
Parti: 25
ID: 111746
Navn: Thomas
Avdeling: CSE
Parti: 15

Eksempel 4: Erstatt flere linjer i en fil ved hjelp av 'sed' skriptfil

Opprett en sed-fil som heter erstatte.sed med følgende innhold for å erstatte flere linjer basert på søkemønsteret. Her, ordet 'CSE'blir søkt i tekstfilen, og hvis samsvaret eksisterer, vil det igjen søke på nummer 35 og 15. Hvis den andre kampen eksisterer i filen, vil den bli erstattet av tallet 45.

erstatte.sed

/ CSE /
p; n;
/ 35 /
s / 35/45 /;
p; d;

/ 15 /
s / 15/55 /;
p; d;


p;

Kjør følgende kommando for å sjekke det eksisterende innholdet i filen. 'CSE' dukket opp fire ganger i tekstfilen. 35 og 15 eksisterer to steder.

$ kattelever.tekst

Følgende kommando erstatter innholdet på flere linjer basert på sed-skriptet.

$ sed -n -f erstatt.sed studenter.tekst

Følgende utdata vises etter at du har kjørt kommandoen.

Konklusjon

Ulike måter å erstatte flere linjer eller innholdet på flere linjer ved hjelp av kommandoen 'sed' er vist i denne veiledningen. Hvordan 'sed' -skriptet kan kjøres fra en sed-fil, vises også i denne veiledningen. Jeg håper denne opplæringen vil hjelpe leseren til å erstatte flere linjer i en hvilken som helst fil ved å bruke kommandoen 'sed'.

Mus AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
Nettbrettbrukere savner ofte musepekeren, spesielt når de bruker vanlige bærbare datamaskiner. Berøringsskjermen Smarttelefoner og nettbrett har mange...
Mus Midterste museknapp fungerer ikke i Windows 10
Midterste museknapp fungerer ikke i Windows 10
De midtre museknapp hjelper deg med å bla gjennom lange websider og skjermer med mye data. Hvis det stopper, vil du ende opp med å bruke tastaturet ti...
Mus Hvordan endre venstre og høyre museknapp på Windows 10 PC
Hvordan endre venstre og høyre museknapp på Windows 10 PC
Det er ganske vanlig at alle datamusenheter er ergonomisk designet for høyrehendte brukere. Men det er tilgjengelige musenheter som er spesielt design...