Parasti izmantotā “sed” apkrāptu lapa:
Visbiežāk izmantotās rakstzīmes, kas tiek izmantotas komandā “sed”, ir izskaidrotas šajā tabulā.
Raksturs | Mērķis |
a | To izmanto satura pievienošanai. |
b | To izmanto satura sazarošanai. |
c | To izmanto satura mainīšanai. |
d | To izmanto faila rindas dzēšanai. |
D | To izmanto, lai izdzēstu faila pirmo rindu. |
g | To izmantoja, lai kopētu no turēšanas teksta. |
G | To lieto, lai pievienotu no turēšanas teksta. |
h | To izmanto, lai kopētu turēšanas tekstu. |
H | To lieto, lai pievienotu turēšanas tekstam. |
i | To lieto ievietošanai. |
Es | To izmanto, lai drukātu aizstājēju līniju. |
n | To izmanto, lai pārietu uz nākamo rindu. |
N | To izmanto, lai pievienotu nākamo ievades rindu. |
lpp | To izmanto drukāšanai. |
P | To izmanto pirmās rindas drukāšanai. |
q | To izmanto, lai atmestu. |
J | To lieto, lai nekavējoties atmestu. |
r | To izmanto, lai lasītu failu. |
R | To izmanto rindas nolasīšanai no faila. |
s | To lieto, lai aizstātu. |
t | To izmanto, lai pārbaudītu aizstāšanu. |
T | To lieto, lai pārbaudītu, vai nav aizstāšanas. |
w | To izmanto, lai ierakstītu failā. |
W | To izmanto, lai ierakstītu rindiņu failā. |
x | To izmanto, lai apmainītu modeļus un turētu. |
y | To lieto tulkošanai. |
z | To izmanto, lai notīrītu līniju. |
'=' | To lieto līnijas numura drukāšanai. |
Nomainiet vairākas rindas, izmantojot termina komandu “sed”:
Kā komandu “sed” var izmantot, lai aizstātu vairākas rindas no faila no termināla, ir parādīts šajā apmācības daļā. Izveidojiet failu ar nosaukumu sed.txt ar šo saturu pārbaudiet šīs daļas komandas.
sed.txt
Pilna sed forma ir “straumes redaktors”.
Tā ir Unix utilīta, kas tiek izmantota teksta lasīšanai un konvertēšanai citā formātā.
To izstrādāja Lee E. Makmahons.
To izmanto teksta apstrādei.
Tas atbalsta regulāras izteiksmes.
1. piemērs: nomainiet divas secīgas rindas
Šāda komanda “sed” aizstās divas rindas pēc kārtas ar citu. Šeit opciju -z aizstāj secīgas rindas ar nulles datiem pirms aizstājējteksta pievienošanas. Saskaņā ar komandu 3rd un 4th faila rindiņas tiks aizstātas ar tekstu, "Tas ir ļoti noderīgs rīks".
$ kaķis sed.txt$ sed -z 's / To izstrādāja Lee E. Makmahons.\ nTo lieto tekstam
apstrāde./ Tas ir ļoti noderīgs rīks./ 'sed.txt
Pēc komandu palaišanas parādīsies šāda izeja.
2. piemērs: aizstājiet vairākas līnijas, pamatojoties uz atbilstību un globālo karodziņu
Šī “sed” komanda aizstās visas rindas, kas sākas ar vārdu, "Tas" ar vārdu,Šī rinda ir aizstāta ".
$ kaķis sed.txt$ sed 's / ^ It.* / Šī rinda ir aizstāta / g 'sed.txt
Pēc komandu palaišanas parādīsies šāda izeja. Trīs rindās ir vārds “Tā"failā. Tātad šīs rindas ir aizstātas ar aizstājošo tekstu.
3. piemērs: aizstājiet vairākas rindas, pamatojoties uz komandu match un next-line
Šāda komanda “sed” aizstās vārdu “ir"pēc vārda"bija'ar nākamās rindas komandu' n '.
$ kaķis sed.txt$ sed 'n; / is / s / is / was / sed.txt
Pēc komandu palaišanas parādīsies šāda izeja. Šeit, "ir" pastāv 2nd un 4th faila rindiņas, un šīs rindas maina vārds "bija".
Nomainiet vairākas rindas, izveidojot skripta failu “sed”:
Iepriekšējos piemēros komandas “sed” ir izpildītas no termināla. Bet tā ir skriptu valoda, un, ja skriptā ir vairāki paziņojumi, tad labāk ir izveidot sed failu ar skriptu. Izveidojiet teksta failu ar nosaukumu studentiem.txt ar šādu saturu, kurā tiks izmantots “sed” skripts.
studentiem.txt
ID: 111045Vārds: Roberts
Departaments: PMP
Partija: 35
ID: 111876
Vārds: Džozefs
Nodaļa: BBA
Partija: 27
ID: 111346
Vārds: Viljams
Departaments: PMP
Partija: 45
ID: 111654
Vārds: Čārlzs
Nodaļa: EEI
Partija: 41
ID: 111346
Vārds: Jānis
Departaments: PMP
Partija: 25
ID: 111746
Vārds: Tomass
Departaments: PMP
Partija: 15
4. piemērs: aizstājiet vairākas faila rindas, izmantojot skripta failu “sed”
Izveidojiet sed failu ar nosaukumu aizvietot.sed ar šādu saturu, lai aizstātu vairākas rindiņas, pamatojoties uz meklēšanas modeli. Šeit vārds “PMP'tiks meklēts teksta failā, un, ja atbilstība pastāv, tā atkal meklēs skaitļus 35 un 15. Ja failā pastāv otrā atbilstība, tā tiks aizstāta ar skaitli 45.
aizvietot.sed
/ PMP /p; n;
/ 35 /
s / 35/45 /;
p; d;
/ 15 /
s / 15/55 /;
p; d;
p;
Izpildiet šo komandu, lai pārbaudītu faila esošo saturu. 'CSE' teksta failā parādījās četras reizes. 35 un 15 pastāv divās vietās.
$ kaķu studenti.txt
Šī komanda aizstās vairāku rindu saturu, pamatojoties uz sed skriptu.
$ sed -n -f aizstāj.sed skolēni.txtPēc komandas palaišanas parādīsies šāda izeja.
Secinājums
Šajā apmācībā ir parādīti dažādi veidi, kā aizstāt vairākas rindas vai vairāku rindu saturu, izmantojot komandu “sed”. Kā “sed” skriptu var izpildīt no sed faila, ir parādīts arī šajā apmācībā. Es ceru, ka šī apmācība palīdzēs lasītājam aizstāt vairākas jebkura faila rindas, izmantojot komandu “sed”.