Ofte brukt 'sed' jukseark:
De mest brukte tegnene som brukes i 'Sed' -kommandoen blir forklart i følgende tabell.
Karakter | Hensikt |
en | Det brukes til å legge til innhold. |
b | Det brukes til forgrening av innhold. |
c | Det 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 | Den pleide å kopiere fra holdeteksten. |
G | Det brukes til å legge til fra holdeteksten. |
h | Den brukes til å kopiere i holdeteksten. |
H | Det brukes til å legge til holdeteksten. |
Jeg | Det brukes til innsetting. |
Jeg | Den brukes til å trykke erstatningslinjen. |
n | Det brukes til å gå til neste linje. |
N | Den brukes til å legge til neste inngangslinje. |
p | Det brukes til å skrive ut. |
P | Den brukes til å skrive ut den første linjen. |
q | Det brukes til å slutte. |
Q | Det 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 | Det brukes til å teste for erstatning. |
T | Det brukes til å teste uten erstatning. |
w | Det brukes til å skrive til filen. |
W | Det brukes til å skrive en linje til filen. |
x | Det brukes til å bytte mønstre og holde. |
y | Det brukes til å oversette. |
z | Det brukes til å fjerne linjen. |
'=' | Det brukes til å skrive ut linjenummeret. |
Bytt ut flere linjer ved å bruke 'Sed' -kommandoen fra terminalen:
Hvordan 'Sed' -kommandoen kan brukes til å erstatte flere linjer fra en fil fra terminalen vises i denne delen av denne opplæringen. Lag en fil som heter sed.tekst Med følgende innholdstest er 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.
Det ble utviklet av Lee E. McMahon.
Det brukes til tekstbehandling.
Den støtter regelmessige uttrykk.
Eksempel 1: Bytt ut to linjer på rad
Følgende 'Sed' -kommando vil erstatte to påfølgende linjer med en annen linje. Her brukes -z -alternativet til å erstatte påfølgende linjer med nulldata før du legger til erstatningsteksten. I følge kommandoen, de 3Rd og 4th Linjer i filen blir erstattet av teksten, 'Det er et veldig nyttig verktøy'.
$ katt sed.tekst
$ sed -z 's/det ble utviklet av Lee E. McMahon.\ nit brukes til tekst
behandling./Det er et veldig nyttig verktøy./'Sed.tekst
Følgende utgang vises etter å ha kjørt kommandoene.
Eksempel-2: Bytt ut flere linjer basert på match og globalt flagg
Følgende 'sed' -kommando vil erstatte alle linjer som starter med ordet, 'Den' etter ordet, 'Denne linjen erstattes '.
$ katt sed.tekst
$ sed 's/^it.*/Denne linjen er erstattet/g 'sed.tekst
Følgende utgang vises etter å ha kjørt kommandoene. Tre linjer inneholder ordet 'Den'I filen. Så disse linjene er erstattet av erstatningsteksten.
Eksempel-3: Bytt ut flere linjer basert på kampen og neste linje kommandoen
Følgende 'sed' kommando vil erstatte ordet, 'er'Etter ordet,'var'Med neste linje kommando,' n '.
$ katt sed.tekst
$ sed 'n;/is/s/is/was/' sed.tekst
Følgende utgang vises etter å ha kjørt kommandoene. Her, 'er' eksisterer i 2nd og 4th Linjer i filen, og disse linjene er endret etter ordet 'var'.
Bytt ut flere linjer ved å lage 'Sed' skriptfil:
I de foregående eksemplene er 'sed' kommandoer blitt 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 som heter studenter.tekst med følgende innhold der 'Sed' -skriptet vil bli brukt.
studenter.tekst
ID: 111045Eksempel-4: Bytt ut flere linjer i en fil med 'Sed' skriptfil
Lag en SED -fil som er navngitt til 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 kampen eksisterer, vil den igjen søke på nummer 35 og 15. Hvis den andre kampen eksisterer i filen, blir den erstattet av nummer 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.
$ CAT -studenter.tekst
Følgende kommando vil erstatte innholdet i flere linjer basert på SED -skriptet.
$ sed -n -f erstatte.SED -studenter.tekst
Følgende utgang vises etter å ha kjørt kommandoen.
Konklusjon
Ulike måter å erstatte flere linjer eller innholdet i flere linjer ved hjelp av 'Sed' -kommandoen har blitt vist i denne opplæringen. Hvordan 'Sed' -skriptet kan utføres fra en SED -fil, vises også i denne opplæringen. Jeg håper denne opplæringen vil hjelpe leseren til å erstatte flere linjer i en hvilken som helst fil ved å bruke 'Sed' -kommandoen.