Pogosto uporabljena varalnica 'sed':
Najpogosteje uporabljeni znaki, uporabljeni v ukazu 'sed', so razloženi v naslednji tabeli.
Značaj | Namen |
a | Uporablja se za dodajanje vsebine. |
b | Uporablja se za razvejanje vsebine. |
c | Uporablja se za spreminjanje vsebine. |
d | Uporablja se za brisanje vrstice datoteke. |
D | Uporablja se za brisanje prve vrstice datoteke. |
g | Včasih je kopiral iz besedila imetja. |
G | Uporablja se za dodajanje iz besedila imetja. |
h | Uporablja se za kopiranje v besedilu imetja. |
H | Uporablja se za dodajanje besedila imetja. |
jaz | Uporablja se za vstavljanje. |
jaz | Uporablja se za tiskanje nadomestne vrstice. |
n | Uporablja se za prehod na naslednjo vrstico. |
N | Uporablja se za dodajanje naslednje vnosne vrstice. |
str | Uporablja se za tiskanje. |
P | Uporablja se za tiskanje prve vrstice. |
q | Uporablja se za prenehanje. |
V | Uporablja se za takojšen odhod. |
r | Uporablja se za branje datoteke. |
R | Uporablja se za branje vrstice iz datoteke. |
s | Uporablja se za nadomeščanje. |
t | Uporablja se za preskus nadomestitve. |
T | Uporablja se za preskušanje brez zamenjave. |
w | Uporablja se za zapisovanje v datoteko. |
W | Uporablja se za zapisovanje vrstice v datoteko. |
x | Uporablja se za zamenjavo vzorcev in zadrževanje. |
y | Uporablja se za prevajanje. |
z | Uporablja se za čiščenje črte. |
'=' | Uporablja se za tiskanje številke vrstice. |
Zamenjajte več vrstic z uporabo ukaza 'sed' s terminala:
Kako lahko z ukazom "sed" nadomestimo več vrstic iz datoteke s terminala, je prikazano v tem delu te vadnice. Ustvarite datoteko z imenom sed.txt z naslednjo vsebino preizkusite ukaze tega dela.
sed.txt
Celotna oblika sed je "urejevalnik tokov".
Gre za pripomoček Unix, ki se uporablja za branje in pretvorbo besedila v drugačni obliki.
Razvil ga je Lee E. McMahon.
Uporablja se za obdelavo besedila.
Podpira regularne izraze.
Primer-1: Zamenjajte dve zaporedni vrstici
Naslednji ukaz 'sed' bo zamenjal dve zaporedni vrstici z drugo vrstico. Tukaj se možnost -z uporablja za zamenjavo zaporednih vrstic z ničelnimi podatki, preden dodate nadomestno besedilo. V skladu z ukazom 3rd in 4th vrstice datoteke bodo nadomeščene z besedilom, "To je zelo uporabno orodje".
$ mačka sed.txt$ sed -z 's / Razvil ga je Lee E. McMahon.\ nUporablja se za besedilo
obravnavati./ Je zelo uporabno orodje./ 'sed.txt
Po zagonu ukazov se prikaže naslednji izhod.
Primer-2: Zamenjajte več vrstic glede na ujemanje in globalno zastavo
Naslednji ukaz 'sed' bo nadomestil vse vrstice, ki se začnejo z besedo, "To" z besedo, "Ta vrstica se nadomesti ".
$ mačka sed.txt$ sed 's / ^ To.* / Ta vrstica je zamenjana / g 'sed.txt
Po zagonu ukazov se prikaže naslednji izhod. Tri vrstice vsebujejo besedo "To'v datoteki. Torej, te vrstice je nadomestilo nadomestno besedilo.
Primer-3: Zamenjajte več vrstic glede na ukaz ujemanja in naslednje vrstice
Naslednji ukaz 'sed' bo nadomestil besedo, 'je"z besedo,"je bil'z ukazom naslednje vrstice,' n '.
$ mačka sed.txt$ sed 'n; / is / s / is / was /' sed.txt
Po zagonu ukazov se prikaže naslednji izhod. Tukaj, 'je' obstaja v 2nd in 4th vrstice datoteke in te vrstice spremeni beseda "je bilo".
Zamenjajte več vrstic z ustvarjanjem datoteke skripta 'sed':
V prejšnjih primerih so bili ukazi 'sed' izvedeni s terminala. Ampak to je skriptni jezik in če skript vsebuje več stavkov, potem je bolje, da s skriptom ustvarite datoteko sed. Ustvarite besedilno datoteko z imenom študentov.txt z naslednjo vsebino, v kateri bo uporabljen skript 'sed'.
študentov.txt
ID: 111045Ime: Robert
Oddelek: CSE
Serija: 35
ID: 111876
Ime: Joseph
Oddelek: BBA
Serija: 27
ID: 111346
Ime: William
Oddelek: CSE
Serija: 45
ID: 111654
Ime: Charles
Oddelek: EEO
Serija: 41
ID: 111346
Ime: John
Oddelek: CSE
Serija: 25
ID: 111746
Ime: Thomas
Oddelek: CSE
Serija: 15
Primer 4: Zamenjajte več vrstic datoteke z uporabo skriptne datoteke 'sed'
Ustvarite datoteko sed z imenom zamenjati.sed z naslednjo vsebino za zamenjavo več vrstic glede na vzorec iskanja. Tukaj je beseda "CSE'bo iskan v besedilni datoteki in če ujemanje obstaja, bo spet poiskal številki 35 in 15. Če v datoteki obstaja drugo ujemanje, ga bo nadomestilo s številko 45.
zamenjati.sed
/ CSE /p; n;
/ 35 /
s / 35/45 /;
p; d;
/ 15 /
s / 15/55 /;
p; d;
p;
Zaženite naslednji ukaz, da preverite obstoječo vsebino datoteke. "CSE" se je v besedilni datoteki pojavil štirikrat. 35 in 15 obstajata na dveh mestih.
$ mačji študentje.txt
Naslednji ukaz bo nadomestil vsebino več vrstic na podlagi skripta sed.
$ sed -n -f zamenjaj.sed študentov.txtPo zagonu ukaza se prikaže naslednji izhod.
Zaključek
V tej vadnici so prikazani različni načini zamenjave več vrstic ali vsebine več vrstic z uporabo ukaza 'sed'. V tej vadnici je prikazano tudi, kako je mogoče skript 'sed' izvesti iz datoteke sed. Upam, da bo ta vadnica bralcu pomagala zamenjati več vrstic katere koli datoteke z ukazom 'sed'.