sed

Kā aizstāt vairākas rindas, izmantojot komandu “sed”

Kā aizstāt vairākas rindas, izmantojot komandu “sed”
Dažreiz tas prasa vairākas faila rindas aizstāt ar kādu konkrētu rakstzīmi vai tekstu. Linux aizstāj vairākas komandas, lai aizstātu vairākas faila rindas. 'sed' komanda ir viena no tām, kas veic šāda veida uzdevumus. Pilna “sed” forma ir Steam Editor, un to galvenokārt izmanto, lai tekstu lasītu un pārveidotu dažādos veidos, izmantojot regulāru izteiksmi. Kā šo komandu var izmantot, lai dažādos veidos aizstātu vairākas faila rindas, ir paskaidrots šajā apmācībā.

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 “"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: 111045
Vā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.txt

Pē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”.

Cīņa par Vesnota apmācību
Cīņa par Vesnotu ir viena no populārākajām atvērtā koda stratēģijas spēlēm, kuru jūs varat spēlēt šajā laikā. Šī spēle ir izstrādāta ne tikai ļoti ilg...
0 A.D. Apmācība
No daudzajām stratēģijas spēlēm 0 A.D. izdodas izcelties kā visaptverošs nosaukums un ļoti dziļa, taktiska spēle, neskatoties uz to, ka tā ir atvērtā ...
Unity3D apmācība
Ievads Vienotībā 3D Unity 3D ir spēcīgs spēļu izstrādes dzinējs. Tā ir pārrobežu platforma, kas ļauj izveidot spēles mobilajām ierīcēm, tīmeklim, gald...