Cum de a înlocui mai multe linii folosind `sed` comanda

Uneori este nevoie pentru a înlocui mai multe linii ale unui fișier cu orice caracter special sau text. Există diferite comenzi în Linux pentru a înlocui mai multe linii ale unui fișier. comanda ” sed ” este una dintre ele pentru a face acest tip de sarcină. Forma completă a ” sed ” este Steam Editor și este folosită în principal pentru a citi și converti textul în moduri diferite folosind o expresie regulată., Modul în care această comandă poate fi utilizată pentru a înlocui mai multe linii ale unui fișier în moduri diferite sunt explicate în acest tutorial.

frecvent utilizate ” sed „Cheat Sheet:

cele mai frecvent utilizate caractere utilizate în comanda” sed ” sunt explicate în tabelul următor.

Personaj Scop
o este folosit pentru adăugarea de conținut.
b este utilizat pentru conținutul de ramificare.
c este folosit pentru schimbarea conținutului.,
d este folosit pentru ștergerea unei linii a unui fișier.
D este folosit pentru a șterge prima linie a unui fișier.
g este folosit pentru a copia din textul exploatație.
G este folosit pentru a adăuga la textul exploatație.
h este folosit pentru a copia în textul exploatație.
H este folosit pentru a adăuga la textul exploatație.
i este folosit pentru inserare.
I este folosit pentru a imprima linia de substituție.,
n este folosit pentru a merge la linia următoare.
N este folosit pentru a adăuga următoarea linie de intrare.
p este folosit pentru a imprima.
P este folosit pentru a imprima prima linie.
q este folosit pentru a iesi.
Q este folosit pentru a iesi imediat.
r este folosit pentru a citi fișierul.
R este folosit pentru a citi linia din fișier.
s este folosit pentru a înlocui.,
t este folosit pentru a testa pentru substituție.
T este folosit pentru a testa pentru nici o substituție.
w este folosit pentru a scrie în fișier.
W este folosit pentru a scrie o linie în fișier.
x este folosit pentru a schimba modele și țineți apăsat.
y este folosit pentru a traduce.
z este folosit pentru a șterge linia.
‘= ‘ este folosit pentru a imprima numărul liniei.,

Înlocui mai multe linii prin utilizarea `sed` comanda din terminal:

Cum `sed` comandă poate fi utilizat pentru a înlocui mai multe linii dintr-un fișier de terminal este prezentată în această parte a acestui tutorial. Creați un fișier numit sed.txt cu următorul conținut testează comenzile acestei părți.

sed.txt

forma completă a sed este „editor de flux”.

este un utilitar Unix care este folosit pentru a citi și converti textul într-un format diferit.a fost dezvoltat de Lee E. McMahon.,este folosit pentru procesarea textului.Aceasta susține expresii regulate.

Exemplul 1: Înlocuiți două linii Consecutive

următoarea comandă ” sed ” va înlocui două linii consecutive cu o altă linie. Aici, opțiunea-z este utilizată pentru a înlocui liniile consecutive cu date nule înainte de a adăuga textul de înlocuire. Conform comenzii, liniile 3 și 4 ale fișierului vor fi înlocuite cu textul, „este un instrument foarte util”.

$ cat sed.txt
$ sed-z ‘ s / a fost dezvoltat de Lee E. McMahon.\neste folosit pentru text
prelucrare.,/Este un instrument foarte util./ sed.txt

următoarea ieșire va apărea după rularea comenzilor.

Exemplul 2: Înlocuiți mai multe linii bazate pe potrivire și pavilion global

următoarea comandă ” sed „va înlocui toate liniile care încep cu cuvântul,” It „cu cuvântul,” această linie este înlocuită”.

$ cat sed.txt
$ sed ” s/^ea.* / Această linie se înlocuiește / g ‘ sed.txt

următoarea ieșire va apărea după rularea comenzilor. Trei linii conțin cuvântul ” It ” în fișier., Deci, aceste linii au fost înlocuite cu textul de înlocuire.

Exemplul 3: Înlocuiți mai multe linii bazate pe meci si urmatoarea linie de comanda

următoarele `sed` comanda va înlocui cuvântul „este” prin cuvânt „a fost” cu următoarea linie de comandă, ‘n’.

$ cat sed.txt
$ sed ‘ {n;/ este/{S/este/ a fost/}}’ sed.txt

următoarea ieșire va apărea după rularea comenzilor. Aici, „este” există în liniile 2 și 4 ale fișierului, iar aceste linii sunt modificate de cuvântul „a fost”.,

Înlocui mai multe linii prin crearea `sed` fișier script:

În exemplele anterioare, `sed` comenzi au fost executate de terminal. Dar este un limbaj de scripting, iar dacă scriptul conține mai multe declarații, atunci este mai bine să creați un fișier sed cu scriptul. Creați un fișier text numit studenți.txt cu următorul conținut în care se va aplica scriptul „sed”.

studenți.Txt

exemplu-4: Înlocuiți mai multe linii ale unui fișier folosind fișierul script ” sed ”

creați un fișier sed numit pentru a înlocui.,sed cu următorul conținut pentru a înlocui mai multe linii bazate pe modelul de căutare. Aici, cuvântul ” CSE ” va fi căutat în fișierul text, iar dacă meciul există, atunci va căuta din nou numărul 35 și 15. Dacă al doilea meci există în fișier, atunci acesta va fi înlocuit cu numărul 45.

înlocuiește.sed

/CSE/ {
p;n;
/35/ {
s/35/45/;
p;d;
}
/15/ {
s/15/55/;
p;d;
}
}
p;

Executați următoarea comandă pentru a verifica conținutul existent al fișierului. „CSE” a apărut de patru ori în fișierul text., 35 și 15 există în două locuri.

$ elevii cat.txt

următoarea comandă va înlocui conținutul mai multor linii bazate pe scriptul sed.

$ sed-n-f înlocui.studenți sed.txt

următoarea ieșire va apărea după rularea comenzii.

concluzie

diferite moduri de a înlocui mai multe linii sau conținutul mai multor linii folosind comanda ” sed ” au fost afișate în acest tutorial., Modul în care scriptul ” sed ” poate fi executat dintr-un fișier sed este, de asemenea, prezentat în acest tutorial. Sper că acest tutorial va ajuta cititorul să înlocuiască mai multe linii ale oricărui fișier folosind comanda „sed”.

Author: admin

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *