sed

Kako umetnuti crtu nakon meča pomoću 'sed'?

Kako umetnuti crtu nakon meča pomoću 'sed'?

Jedna od korisnih i moćnih naredbi Linuxa je naredba "sed". Ova se naredba koristi za izvršavanje različitih vrsta zadataka u Linuxu, poput umetanja, ažuriranja i brisanja određenog teksta ili retka na temelju podudaranja. Tekst u niz ili datoteku možete umetnuti na različite načine pomoću naredbe "sed".

Kako umetnuti liniju nakon pronalaska podudaranja u nizu ili liniji prikazano je u ovom vodiču.

Umetnite redak u niz

Novi redak može se umetnuti nakon bilo koje vrijednosti niza pomoću naredbe “sed” ako se obrazac definiran u naredbi podudara s bilo kojim dijelom vrijednosti niza.

Sljedeći primjer pokazuje kako se novi redak može dodati nakon vrijednosti niza ako određeni niz postoji bilo gdje u vrijednosti niza.

Primjer-1: Umetnite redak u niz nakon pronalaska podudaranja

Sljedeća naredba pretražit će „inng“ u nizu „Volim programiranje“ i redak teksta „Volite li programirati?”Umetnut će se nakon niza ako postoji niz za pretraživanje.

Ovdje se znak "&" koristi za umetanje retka nakon niza.

$ echo "Volim programiranje."| sed 's / inng / & Volite li programiranje?/ '

Sljedeći izlaz pokazuje da "inng" ne postoji u nizu i nijedan redak nije umetnut nakon niza.


Sljedeća naredba pretražit će „ing."U nizu," Volim programiranje "i postoji u nizu.

$ echo "Volim programiranje."| sed 's / ing./ & Volite li programiranje?/ '

Sljedeći izlaz pokazuje da se novi redak dodaje nakon niza.

Umetnite redak u datoteku

Postoje dva načina za umetanje retka nakon što se podudaranje pronađe u datoteci koja je spomenuta u nastavku. Kada se koristi naredba „sed“ bez opcije „-i“, tada će sadržaj datoteke ostati nepromijenjen, a izlaz će prikazati sadržaj datoteke s umetnutim novim redom. Morate upotrijebiti opciju "-i" s naredbom "sed" da biste trajno umetnuli novi redak u datoteku ako u datoteci postoji odgovarajući obrazac.

A. Upotreba "a" u naredbi "sed"

"A" se može koristiti u uzorku pretraživanja "sed" za dodavanje jednog ili više redaka u datoteku nakon retka u kojem se obrazac pretraživanja podudara ili iza određenog broja retka.

B. Korištenje "i" u naredbi "sed"

"I" se može koristiti u obrascu pretraživanja naredbe "sed" za umetanje jednog ili više redaka u datoteku prije retka u kojem se obrazac pretraživanja podudara.

Umetnite crte u datoteku na temelju uzorka:

Stvorite tekstualnu datoteku razdvojenu karticama s nazivom proizvoda.txt sa sljedećim sadržajem za prikaz upotrebe gornje zastavice u naredbi "sed".

proizvoda.txt

ID ID
01 Šlag
02 Kakao u prahu
03 Šećer
04 Jaje
05 Brašno

Primjer-2: Umetnite redak iza određenog broja retka pomoću "a"

Sljedeće naredbe pokazuju kako se može dodati novi redak, nakon određenog broja redaka proizvoda.txt datoteku, na temelju uzorka korištenog u naredbi "sed".

Ovdje će prva naredba prikazati postojeći sadržaj datoteke. Naredba "sed" dodati će tekst, "b01 Prašak za pecivo", nakon prva dva retka datoteke. Posljednja naredba koristi se za provjeru promjene sadržaja datoteke ili ne.

$ mačjih proizvoda.txt
$ sed '2 a b01 \ tProizvodi za pecivo'.txt
$ mačjih proizvoda.txt

Sljedeći će se izlaz pojaviti nakon pokretanja gornje naredbe.

Primjer-3: Umetnite redak nakon zadnjeg retka pomoću "a"

Sljedeća naredba pokazuje način dodavanja novog retka nakon zadnjeg retka datoteke. Prva i zadnja naredba prikazuje postojeći sadržaj datoteke prije i nakon izvršavanja naredbe "sed". Simbol "$" koristi se u uzorku naredbe "sed" za spominjanje zadnjeg retka datoteke.

$ mačjih proizvoda.txt
$ sed '$ a b01 \ tProizvodi za pecivo'.txt
$ mačjih proizvoda.txt

Sljedeći će se izlaz pojaviti nakon pokretanja gornje naredbe.

Primjer 4: Umetnite redak bilo gdje u datoteku nakon podudaranja uzorka pomoću "a"

Sljedeća naredba "sed" pokazuje kako se novi redak može dodati bilo gdje u datoteci na temelju podudarnog uzorka. Uzorak korišten u naredbi "sed" pretražit će bilo koji redak koji započinje s "s01" i dodati novi niz nakon njega. Četvrti redak datoteke započinje s “s01”, a novi će se redak umetnuti nakon tog retka.

$ mačjih proizvoda.txt
$ sed '/ ^ s01.* / a b01 \ tProizvodi za pečenje u prahu.txt
$ mačjih proizvoda.txt

Sljedeći će se izlaz pojaviti nakon pokretanja naredbe.


Sljedeća naredba "sed" pretražit će bilo koji redak koji završava s "Prašak" i umetnuti novi redak nakon njega. Treći redak datoteke završava s "Prah". Dakle, novi će se redak umetnuti nakon tog retka.

$ mačjih proizvoda.txt
$ sed '/ Powder $ / a b01 \ tProizvodi za pečenje'.txt
$ mačjih proizvoda.txt

Sljedeći će se izlaz pojaviti nakon pokretanja gornjih naredbi.

Primjer-5: Umetnite više redaka nakon odgovarajućeg uzorka pomoću "a"

Sljedeća naredba "sed" prikazuje način dodavanja više redaka unutar sadržaja datoteke na temelju podudarnog uzorka.

Ovdje će se nakon trećeg retka dodati dva retka, prema obrascu.

$ mačjih proizvoda.txt
$ sed '/ ^ [a-c] / a b01 \ tBakir u prahu \ nb02 \ tBoda Soda' proizvodi.txt
$ mačjih proizvoda.txt

Sljedeći će se izlaz pojaviti nakon pokretanja gornjih naredbi.

Primjer 6: Umetnite redak nakon podudaranja s uzorkom pomoću "I"

$ mačjih proizvoda.txt
$ sed '/ cream / i b01 \ tProizvodi za pecivo'.txt
$ mačjih proizvoda.txt

Sljedeći će se izlaz pojaviti nakon pokretanja gornjih naredbi.

Primjer-7: Trajno umetnite liniju nakon odgovarajućeg uzorka pomoću opcije "-i"

Sljedeća naredba "sed" pokazuje kako trajno promijeniti sadržaj datoteke. Opcija "i" koristi se s naredbom "sed" za umetanje novog retka u datoteku na temelju uzorka.

$ mačjih proizvoda.txt
$ sed -i '/ e $ / a g01 \ tGhee' proizvodi.txt
$ mačjih proizvoda.txt

Sljedeći će se izlaz pojaviti nakon pokretanja gornjih naredbi.

Zaključak:

Načini umetanja dva ili više redaka u datoteku pomoću naredbe "sed" s uzorkom prikazani su u ovom vodiču kako bi čitatelju pomogao da primijeni ovu naredbu za privremeno ili trajno umetanje redaka na temelju uzorka.

Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...
HD Remastered igre za Linux koje ranije nisu imale Linux izdanje
Mnogi programeri i izdavači igara dolaze s HD remasterom starih igara kako bi produžili životni vijek franšize, molimo obožavatelje da zatraže kompati...
Kako koristiti AutoKey za automatizaciju Linux igara
AutoKey je uslužni program za automatizaciju radne površine za Linux i X11, programiran na Python 3, GTK i Qt. Koristeći njegovu skriptiranje i MACRO ...