sed

Cum se introduce o linie după meci folosind „sed”?

Cum se introduce o linie după meci folosind „sed”?

Una dintre comenzile utile și puternice ale Linux este comanda „sed”. Această comandă este utilizată pentru a efectua diferite tipuri de activități în Linux, cum ar fi inserarea, actualizarea și ștergerea unui anumit text sau linie pe baza potrivirii. Puteți insera un text într-un șir sau într-un fișier în moduri diferite utilizând comanda „sed”.

Cum se introduce o linie după ce ați găsit o potrivire într-un șir sau o linie este prezentat în acest tutorial.

Introduceți o linie în șir

O nouă linie poate fi inserată după orice valoare a șirului utilizând comanda „sed” dacă modelul definit în comandă se potrivește cu orice parte a valorii șirului.

Următorul exemplu arată cum poate fi adăugată o nouă linie după o valoare șir dacă un anumit șir există oriunde în valoarea șirului.

Exemplu-1: introduceți o linie într-un șir după ce ați găsit o potrivire

Următoarea comandă va căuta „inng” în șir, „Îmi place programarea” și o linie de text, „Îți place programarea?”Va fi inserat după șir dacă există șirul de căutare.

Aici, caracterul „&” este folosit pentru a insera linia după șir.

$ echo "Îmi place programarea."| sed 's / inng / & Îți place programarea?/ '

Următorul rezultat arată că „inng” nu există în șir și nu se introduce nicio linie după șir.


Următoarea comandă va căuta „ing.”În șir,„ Îmi place programarea ”și există în șir.

$ echo "Îmi place programarea."| sed / s./ & Îți place programarea?/ '

Următoarea ieșire arată că noua linie este adăugată după șir.

Introduceți o linie într-un fișier

Există două moduri de a insera o linie după ce se găsește o potrivire într-un fișier menționat mai jos. Când comanda „sed” este utilizată fără opțiunea „-i”, atunci conținutul fișierului va rămâne neschimbat, iar rezultatul va afișa conținutul fișierului cu linia nouă introdusă. Trebuie să utilizați opțiunea „-i” cu comanda „sed” pentru a insera permanent noua linie în fișier dacă modelul de potrivire există în fișier.

A. Folosind „a” în comanda „sed”

„A” poate fi utilizat în modelul de căutare al „sed” pentru a adăuga una sau mai multe linii într-un fișier după linia în care se potrivește modelul de căutare sau după un anumit număr de linie.

B. Folosind „i” în comanda „sed”

„I” poate fi folosit în modelul de căutare al comenzii „sed” pentru a insera una sau mai multe linii într-un fișier înainte de linia în care se potrivește modelul de căutare.

Introduceți linie (e) într-un fișier pe baza modelului:

Creați un fișier text delimitat de tab-uri numit produse.txt cu următorul conținut pentru a afișa utilizările steagului de mai sus în comanda „sed”.

produse.txt

Nume ID
01 Frisca
02 Pudră de cacao
03 Zahar
04 ou
05 Făină

Exemplul-2: introduceți o linie după un anumit număr de linie folosind „a”

Următoarele comenzi arată cum poate fi adăugată o nouă linie, după un anumit număr de linie al produselor.fișier txt, bazat pe modelul utilizat în comanda „sed”.

Aici, prima comandă va afișa conținutul existent al fișierului. Comanda „sed” va adăuga textul, „b01 Praful de copt”, după primele două linii ale fișierului. Ultima comandă este utilizată pentru a verifica dacă conținutul fișierului este modificat sau nu.

$ produse pentru pisici.txt
$ sed '2 a b01 \ tProduse cu praf de copt.txt
$ produse pentru pisici.txt

Următoarea ieșire va apărea după executarea comenzii de mai sus.

Exemplul-3: introduceți o linie după ultima linie folosind „a”

Următoarea comandă arată modul de a adăuga o nouă linie după ultima linie a fișierului. Prima și ultima comandă arată conținutul existent al fișierului înainte și după executarea comenzii „sed”. Simbolul „$” este utilizat în modelul comenzii „sed” pentru a menționa ultima linie a fișierului.

$ produse pentru pisici.txt
$ sed '$ a b01 \ tProduse de praf de copt'.txt
$ produse pentru pisici.txt

Următoarea ieșire va apărea după executarea comenzii de mai sus.

Exemplul-4: Introduceți o linie oriunde în fișier după potrivirea unui model folosind „a”

Următoarea comandă „sed” arată cum poate fi adăugată o nouă linie oriunde în fișier pe baza modelului de potrivire. Modelul utilizat în comanda „sed” va căuta orice linie începând cu „s01” și va adăuga noul șir după acesta. A patra linie a fișierului începe cu „s01”, iar noua linie va fi inserată după acea linie.

$ produse pentru pisici.txt
$ sed '/ ^ s01.* / a b01 \ tProduse de praf de copt.txt
$ produse pentru pisici.txt

Următoarea ieșire va apărea după executarea comenzii.


Următoarea comandă „sed” va căuta orice linie care se termină cu „Pudră” și va introduce noua linie după ea. A treia linie a fișierului se termină cu „Pulbere”. Deci, noua linie va fi inserată după acea linie.

$ produse pentru pisici.txt
$ sed '/ Powder $ / a b01 \ tProduse de praf de copt.txt
$ produse pentru pisici.txt

Următoarea ieșire va apărea după executarea comenzilor de mai sus.

Exemplul-5: Introduceți mai multe linii după modelul de potrivire folosind „a”

Următoarea comandă „sed” arată modalitatea de a adăuga mai multe linii în conținutul unui fișier pe baza modelului de potrivire.

Aici, două linii vor fi adăugate după a treia linie, conform modelului.

$ produse pentru pisici.txt
$ sed '/ ^ [a-c] / a b01 \ tPraf de copt \ nb02 \ tProduse de bicarbonat de sodiu'.txt
$ produse pentru pisici.txt

Următoarea ieșire va apărea după executarea comenzilor de mai sus.

Exemplul-6: Introduceți o linie după potrivirea unui model folosind „I”

$ produse pentru pisici.txt
$ sed '/ cream / i b01 \ tProduse de praf de copt.txt
$ produse pentru pisici.txt

Următoarea ieșire va apărea după executarea comenzilor de mai sus.

Exemplul-7: introduceți o linie permanent după modelul de potrivire folosind opțiunea „-i”

Următoarea comandă „sed” arată cum să schimbați permanent conținutul fișierului. Opțiunea „i” este utilizată cu comanda „sed” pentru a insera o nouă linie în fișier pe baza modelului.

$ produse pentru pisici.txt
$ sed -i '/ e $ / a g01 \ tGhee' produse.txt
$ produse pentru pisici.txt

Următoarea ieșire va apărea după executarea comenzilor de mai sus.

Concluzie:

Modurile de inserare a două sau mai multe linii într-un fișier utilizând comanda „sed” cu model au fost prezentate în acest tutorial pentru a ajuta cititorul să aplice această comandă pentru inserarea liniilor în temporar sau permanent pe baza modelului.

Cele mai bune 5 jocuri arcade pentru Linux
În zilele noastre, computerele sunt mașini serioase folosite pentru jocuri. Dacă nu puteți obține noul scor mare, veți ști la ce mă refer. În această ...
Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...
Cum se instalează League Of Legends pe Ubuntu 14.04
Dacă ești fan al League of Legends, atunci aceasta este o oportunitate pentru tine de a testa rula League of Legends. Rețineți că LOL este acceptat pe...