sed

Kako vstaviti vrstico po tekmi s pomočjo 'sed'?

Kako vstaviti vrstico po tekmi s pomočjo 'sed'?

Eden od uporabnih in zmogljivih ukazov Linuxa je ukaz "sed". Ta ukaz se uporablja za izvajanje različnih vrst nalog v Linuxu, na primer vstavljanje, posodabljanje in brisanje določenega besedila ali vrstice glede na ujemanje. Besedilo v niz ali datoteko lahko na različne načine vstavite z ukazom "sed".

Kako vstaviti vrstico po iskanju ujemanja v nizu ali vrstici je prikazano v tej vadnici.

Vstavi vrstico v niz

Novo vrstico lahko vstavite za katero koli vrednostjo niza z ukazom "sed", če se vzorec, določen v ukazu, ujema s katerim koli delom vrednosti niza.

Naslednji primer prikazuje, kako je mogoče dodati novo vrstico za vrednostjo niza, če določen niz obstaja kjer koli v vrednosti niza.

Primer 1: Vstavite vrstico v niz po iskanju ujemanja

Naslednji ukaz bo poiskal »inng« v nizu »Všeč mi je programiranje« in vrstica besedila: »Ali vam je všeč programiranje?"Bo vstavljen za nizom, če iskalni niz obstaja.

Tu se znak "&" uporablja za vstavljanje vrstice za nizom.

$ echo "Všeč mi je programiranje."| sed 's / inng / & Ali radi programirate?/ '

Naslednji izhod kaže, da “inng” v nizu ne obstaja in za nizom ni vstavljena nobena vrstica.


Naslednji ukaz bo poiskal »ing."V nizu," Všeč mi je programiranje "in obstaja v nizu.

$ echo "Všeč mi je programiranje."| sed 's / ing./ & Ali vam je všeč programiranje?/ '

Naslednji izhod kaže, da je nova vrstica dodana za nizom.

Vstavite vrstico v datoteko

Obstaja dva načina za vstavljanje vrstice, ko je v datoteki, ki je navedena spodaj, ujemanje. Ko je ukaz “sed” uporabljen brez možnosti “-i”, bo vsebina datoteke ostala nespremenjena, na izhodu pa bo prikazana vsebina datoteke z vstavljeno novo vrstico. Če želite v datoteki trajno vstaviti novo vrstico, morate uporabiti možnost »-i« z ukazom »sed«.

A. Uporaba "a" v ukazu "sed"

Znak „a“ se lahko uporablja v iskalnem vzorcu za „sed“ za dodajanje ene ali več vrstic v datoteko za vrstico, kjer se iskalni vzorec ujema, ali za določeno številko vrstice.

B. Uporaba "i" v ukazu "sed"

Znak »i« lahko uporabimo v iskalnem vzorcu ukaza »sed«, da v datoteko vstavimo eno ali več vrstic pred vrstico, kjer se iskalni vzorec ujema.

Vstavite vrstice v datoteko glede na vzorec:

Ustvarite poimenovano besedilno datoteko, ločeno z zavihki izdelkov.txt z naslednjo vsebino za prikaz uporabe zgornje zastavice v ukazu “sed”.

izdelkov.txt

ID ID
01 Bič smetana
02 kakav v prahu
03 Sladkor
04 Jajce
05 Moka

Primer-2: Vstavite vrstico za določeno številko vrstice s pomočjo "a"

Naslednji ukazi prikazujejo, kako je mogoče dodati novo vrstico za določeno številko vrstice izdelkov.txt, ki temelji na vzorcu, uporabljenem v ukazu “sed”.

Tu bo prvi ukaz prikazal obstoječo vsebino datoteke. Ukaz "sed" bo po prvih dveh vrsticah datoteke dodal besedilo "b01 pecilni prašek". Zadnji ukaz se uporablja za preverjanje, ali je vsebina datoteke spremenjena ali ne.

$ mačji izdelki.txt
$ sed '2 a b01 \ tProizvodi za peko v prahu'.txt
$ mačji izdelki.txt

Po zagonu zgornjega ukaza se prikaže naslednji izhod.

Primer-3: Vstavite vrstico za zadnjo vrstico s pomočjo "a"

Naslednji ukaz prikazuje način dodajanja nove vrstice za zadnjo vrstico datoteke. Prvi in ​​zadnji ukaz prikazuje obstoječo vsebino datoteke pred in po izvedbi ukaza “sed”. Simbol "$" se uporablja v vzorcu ukaza "sed" za omembo zadnje vrstice datoteke.

$ mačji izdelki.txt
$ sed '$ a b01 \ tProizvodi za peko v prahu'.txt
$ mačji izdelki.txt

Po zagonu zgornjega ukaza se prikaže naslednji izhod.

Primer-4: Vstavite vrstico kamor koli v datoteko po ujemanju vzorca z uporabo "a"

Naslednji ukaz "sed" prikazuje, kako lahko na podlagi ujemajočega se vzorca kjer koli v datoteki dodate novo vrstico. Vzorec, uporabljen v ukazu "sed", bo poiskal katero koli vrstico, ki se začne s "s01", in za njo dodal nov niz. Četrta vrstica datoteke se začne s “s01”, nova vrstica pa bo vstavljena za to vrstico.

$ mačji izdelki.txt
$ sed '/ ^ s01.* / a b01 \ tProizvodi za peko v prahu.txt
$ mačji izdelki.txt

Po zagonu ukaza se prikaže naslednji izhod.


Naslednji ukaz "sed" bo poiskal katero koli vrstico, ki se konča z "Prašek", in za njo vstavil novo vrstico. Tretja vrstica datoteke se konča z “Prašek”. Torej, nova vrstica bo vstavljena za to vrstico.

$ mačji izdelki.txt
$ sed '/ Powder $ / a b01 \ tBaching Powder' izdelki.txt
$ mačji izdelki.txt

Po zagonu zgornjih ukazov se prikaže naslednji izhod.

Primer 5: Vstavite več vrstic za ujemajočim se vzorcem z uporabo "a"

Naslednji ukaz "sed" prikazuje način dodajanja več vrstic znotraj vsebine datoteke na podlagi ujemajočega se vzorca.

Tu se po tretji vrstici po vzorcu dodata dve vrstici.

$ mačji izdelki.txt
$ sed '/ ^ [a-c] / a b01 \ tBaching Powder \ nb02 \ tBading Soda' izdelki.txt
$ mačji izdelki.txt

Po zagonu zgornjih ukazov se prikaže naslednji izhod.

Primer 6: Vstavite vrstico po ujemanju vzorca z uporabo "I"

$ mačji izdelki.txt
Izdelki $ sed '/ cream / i b01 \ tBaching Powder'.txt
$ mačji izdelki.txt

Po zagonu zgornjih ukazov se prikaže naslednji izhod.

Primer 7: Trajno vstavite vrstico za ujemajočim se vzorcem z uporabo možnosti -i

Naslednji ukaz “sed” prikazuje, kako trajno spremeniti vsebino datoteke. Možnost "i" se uporablja z ukazom "sed" za vstavljanje nove vrstice v datoteko na podlagi vzorca.

$ mačji izdelki.txt
$ sed -i '/ e $ / a g01 \ tGhee' izdelki.txt
$ mačji izdelki.txt

Po zagonu zgornjih ukazov se prikaže naslednji izhod.

Zaključek:

Načini vstavljanja dveh ali več vrstic v datoteko z ukazom „sed“ z vzorcem so prikazani v tej vadnici, da bralcu pomagajo uporabiti ta ukaz za začasno ali trajno vstavljanje vrstic na podlagi vzorca.

S pomočjo gumba X-Mouse Button Control različno prilagodite gumbe miške za različno programsko opremo
Mogoče potrebujete orodje, ki bi lahko spremenilo nadzor miške z vsako aplikacijo, ki jo uporabljate. V tem primeru lahko preizkusite aplikacijo z ime...
Microsoft Sculpt Touch Wireless Mouse Review
Pred kratkim sem prebral o Microsoftov kiparski dotik brezžično miško in se odločil za nakup. Potem ko sem ga nekaj časa uporabljal, sem se odločil, d...
Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...