Često korišteni varalice 'sed':
Najčešće korišteni znakovi korišteni u naredbi 'sed' objašnjeni su u sljedećoj tablici.
Lik | Svrha |
a | Koristi se za dodavanje sadržaja. |
b | Koristi se za grananje sadržaja. |
c | Koristi se za promjenu sadržaja. |
d | Koristi se za brisanje retka datoteke. |
D | Koristi se za brisanje prvog retka datoteke. |
g | Prije se kopirao iz teksta holdinga. |
G | Koristi se za dodavanje iz teksta fonda. |
h | Koristi se za kopiranje u tekst posjeda. |
H | Koristi se za dodavanje teksta držanja. |
ja | Koristi se za umetanje. |
Ja | Koristi se za ispis zamjenskog retka. |
n | Koristi se za prelazak na sljedeći redak. |
N | Koristi se za dodavanje sljedećeg retka za unos. |
str | Koristi se za ispis. |
Str | Koristi se za ispis prvog retka. |
q | Koristi se za prekid. |
P | Koristi se za trenutni prekid. |
r | Koristi se za čitanje datoteke. |
R | Koristi se za čitanje retka iz datoteke. |
s | Koristi se za zamjenu. |
t | Koristi se za ispitivanje zamjene. |
T | Koristi se za ispitivanje da nema zamjene. |
w | Koristi se za upisivanje u datoteku. |
W | Koristi se za upisivanje retka u datoteku. |
x | Koristi se za razmjenu uzoraka i zadržavanje. |
g | Koristi se za prevođenje. |
z | Koristi se za uklanjanje crte. |
'=' | Koristi se za ispis broja retka. |
Zamijenite više redaka pomoću naredbe 'sed' s terminala:
Kako se naredba 'sed' može koristiti za zamjenu više redaka iz datoteke s terminala, prikazano je u ovom dijelu ovog vodiča. Stvorite datoteku s imenom sed.txt sljedećim sadržajem testirajte naredbe ovog dijela.
sed.txt
Puni oblik sed je "stream editor".
To je uslužni program Unix koji se koristi za čitanje i pretvaranje teksta u drugom formatu.
Razvio ga je Lee E. McMahon.
Koristi se za obradu teksta.
Podržava regularne izraze.
Primjer-1: Zamijenite dvije uzastopne linije
Sljedeća naredba 'sed' zamijenit će dvije uzastopne crte drugom linijom. Ovdje se opcija -z koristi za zamjenu uzastopnih redaka null podacima prije dodavanja zamjenskog teksta. Prema zapovijedi, 3rd i 4th retci datoteke bit će zamijenjeni tekstom, 'To je vrlo koristan alat'.
$ mačka sed.txt$ sed -z 's / Razvio ga je Lee E. McMahon.\ nUpotrebljava se za tekst
obrada./ To je vrlo koristan alat./ 'sed.txt
Sljedeći će se izlaz pojaviti nakon pokretanja naredbi.
Primjer-2: Zamijenite više redaka na temelju podudaranja i globalne zastave
Sljedeća naredba 'sed' zamijenit će sve retke koji počinju riječju, 'To' riječju, 'Ovaj je redak zamijenjen '.
$ mačka sed.txt$ sed 's / ^ To.* / Ovaj je redak zamijenjen / g 'sed.txt
Sljedeći će se izlaz pojaviti nakon pokretanja naredbi. Tri retka sadrže riječ 'To'u datoteci. Dakle, ovi su retci zamijenjeni zamjenskim tekstom.
Primjer-3: Zamijenite više redaka na temelju naredbe podudaranja i sljedećeg retka
Sljedeća naredba 'sed' zamijenit će riječ, 'je'po riječi,'bio'naredbom sljedećeg retka,' n '.
$ mačka sed.txt$ sed 'n; / is / s / is / was /' sed.txt
Sljedeći će se izlaz pojaviti nakon pokretanja naredbi. Ovdje, 'je' postoji u 2nd i 4th retci datoteke, a ti su redovi izmijenjeni riječju "bilo je".
Zamijenite više redaka stvaranjem datoteke skripte 'sed':
U prethodnim su primjerima naredbe 'sed' izvršene s terminala. Ali to je skriptni jezik, a ako skripta sadrži više izjava, onda je bolje stvoriti sed datoteku sa skriptom. Stvorite tekstualnu datoteku s imenom studenti.txt sa sljedećim sadržajem u kojem će se primijeniti skripta 'sed'.
studenti.txt
ID: 111045Ime: Robert
Odjel: CSE
Šarža: 35
ID: 111876
Ime: Joseph
Odjel: BBA
Šarža: 27
ID: 111346
Ime: William
Odjel: CSE
Šarža: 45
ID: 111654
Ime: Charles
Odjel: EEE
Šarža: 41
ID: 111346
Ime: John
Odjel: CSE
Šarža: 25
ID: 111746
Ime: Thomas
Odjel: CSE
Šarža: 15
Primjer 4: Zamijenite više redaka datoteke pomoću datoteke skripte 'sed'
Stvorite sed datoteku s imenom zamijeniti.sed sa sljedećim sadržajem za zamjenu više redaka na temelju uzorka pretraživanja. Evo, riječ 'CSE'pretražit će se u tekstualnoj datoteci, a ako podudaranje postoji, tada će ponovno pretražiti brojeve 35 i 15. Ako drugo podudaranje postoji u datoteci, tada će biti zamijenjeno brojem 45.
zamijeniti.sed
/ CSE /p; n;
/ 35 /
s / 35/45 /;
p; d;
/ 15 /
s / 15/55 /;
p; d;
p;
Pokrenite sljedeću naredbu da biste provjerili postojeći sadržaj datoteke. 'CSE' se pojavio četiri puta u tekstualnoj datoteci. 35 i 15 postoje na dva mjesta.
$ mački studenti.txt
Sljedeća naredba zamijenit će sadržaj više redaka na temelju skripte sed.
$ sed -n -f zamijeniti.sed studenti.txtSljedeći će se izlaz pojaviti nakon pokretanja naredbe.
Zaključak
U ovom su priručniku prikazani različiti načini zamjene više redaka ili sadržaja više redaka pomoću naredbe 'sed'. Kako se skripta 'sed' može izvršiti iz sed datoteke, također je prikazano u ovom vodiču. Nadam se da će ovaj vodič pomoći čitatelju da zamijeni više redaka bilo koje datoteke pomoću naredbe 'sed'.