Editarea fișierelor text și a ieșirii terminalului este o sarcină de zi cu zi pentru cei care administrează mașini Linux. Utilitarele din linia de comandă, cum ar fi sed, permit utilizatorului să modifice și să schimbe conținutul unui fișier text chiar din fereastra terminalului.

În acest articol, vom discuta în detaliu comanda sed, împreună cu câteva exemple esențiale care demonstrează puterea utilitarului sed în Linux.

Ce este comanda sed?

Comanda sed, care este un acronim pentru Editor de flux, este un instrument de linie de comandă care permite utilizatorilor Linux să efectueze operațiuni bazate pe text pe fișiere și ieșiri de terminal. Utilizând sed, utilizatorii pot găsi și înlocui anumite cuvinte într-un text, pot afișa o anumită secțiune a rezultatului și pot edita fișiere text fără a le deschide.

Cele trei operații de bază acceptate de comanda sed sunt:

  1. Inserare
  2. Ștergere
  3. Înlocuire (Găsiți și înlocuiți)

Utilizatorii avansați pot implementa expresii regulate cu comanda sed pentru a edita fluxurile de text mai eficient.

instagram viewer

Sintaxa de bază a comenzii este:

sed [opțiuni] [model] [cale de fișiere]

...Unde Opțiuni sunt diferitele funcționalități ale comenzii, model este expresia regulată sau scriptul pe care doriți să îl potriviți și filepath este calea către fișierul text care conține textul.

10 Exemple de comandă Linux sed

Dacă intenționați să deveniți un utilizator obișnuit de Linux, știind cum să editați fișiere, să căutați și să înlocuiți anumite cuvinte și să filtrați ieșirea terminalului, vă poate fi util. Această secțiune acoperă câteva exemple de comandă sed, care vă vor transforma cu siguranță într-un utilizator puternic Linux.

Vom folosi următorul fișier text pentru demonstrare în postare.

Acesta este un fișier text demonstrativ.
Este un fișier uimitor care ne va ajuta pe toți.
Comanda sed este de asemenea excelentă pentru editarea fluxului.
Doriți să aflați cum să utilizați comanda?
Aceasta este o altă linie din fișier.
Aceasta este a treia linie generală din fișier.
Acest fișier este denumit fișier text.
Acesta este un măr.
Aceasta este o portocală.

1. Vizualizați o gamă de linii

Comenzile Linux, cum ar fi capul și coada, produc primele sau ultimele zece rânduri ale unui fișier text. Dar dacă doriți să obțineți conținutul între două linii specifice dintr-un fișier? În astfel de situații, comanda sed ar putea fi utilă.

Pentru a afișa conținutul între liniile 3 și 5 ale fișierului textfile.txt:

sed -n '3,5p' textfile.txt

-n pavilion împiedică sed să afișeze spațiul modelului la sfârșitul fiecărui ciclu. Puteți utiliza, de asemenea, --Liniște și --tăcut opțiuni în loc de -n. p argumentul reprezintă imprimare și este utilizat pentru a afișa utilizatorului liniile potrivite.

Executarea comenzii menționate mai sus pe fișierul de exemplu produce următoarea ieșire.

Comanda sed este de asemenea excelentă pentru editarea fluxului.
Doriți să aflați cum să utilizați comanda?
Aceasta este o altă linie din fișier.

Pentru a afișa întregul conținut al fișierului, cu excepția intervalului specificat, utilizați d steag în loc de p în comandă:

sed '3,5d' textfile.txt

d flag șterge șirurile potrivite din ieșire și afișează restul conținutului.

Acesta este un fișier text demonstrativ.
Este un fișier uimitor care ne va ajuta pe toți.
Aceasta este a treia linie generală din fișier.
Acest fișier este denumit fișier text.
Acesta este un măr.
Aceasta este o portocală.

2. Afișați linii non-consecutive

Pentru a imprima linii non-consecutive între mai multe zone din fișier:

sed -n -e '1,2p' -e '5,6p' textfile.txt

Ieșire:

Acesta este un fișier text demonstrativ.
Este un fișier uimitor care ne va ajuta pe toți.
Aceasta este o altă linie din fișier.
Aceasta este a treia linie generală din fișier.

-e pavilion ajută la executând multiple acțiuni folosind o singură comandă.

3. Introduceți spațiul între linii

Dacă din orice motiv doriți să inserați linii goale între fiecare linie într-un fișier text, utilizați G argument cu comanda sed implicită.

sed G textfile.txt

Pentru a insera mai multe linii goale în ieșire, treceți mai multe G argumente separate de punct şi virgulă (;) caracter.

sed 'G; G 'textfile.txt

4. Înlocuiți un cuvânt într-un fișier text

Dacă doriți să înlocuiți fiecare apariție a unui anumit cuvânt cu un alt cuvânt, utilizați s și g argumente cu comanda. Sintaxa de bază pentru substituirea cuvintelor folosind comanda sed este:

sed s / originalword / replaceword / g nume de fișier

Folosind sintaxa menționată mai sus, puteți înlocui cuvântul uimitor cu super în dosar textfile.txt:

sed s / amazing / super / g textfile.txt

s argumentul denotă substituţie si g comanda este utilizată pentru a înlocui conținutul potrivit cu conținutul de înlocuire specificat.

Pentru a înlocui a doua apariție a cuvântului cu sed, treceți un număr către g argument. În acest caz:

sed s / amazing / super / g2 textfile.txt

Dacă doriți să ignorați cazurile de caractere în timp ce înlocuiți cuvinte, utilizați gi in loc de g, Unde eu înseamnă ignora caz.

sed s / Amazing / super / gi textfile.txt

Legate de: Folosești Vi? Iată cum se deschide un fișier apoi se salvează și se renunță

5. Cuvinte înlocuitoare în interiorul unei game

De asemenea, puteți înlocui cuvinte dintr-un anumit interval.

sed '2,5s / amazing / super / g' textfile.txt

6. Efectuați înlocuiri multiple simultan

Dacă doriți să efectuați două sau mai multe înlocuiri simultan, separați comenzile cu punct şi virgulă (;) caracter.

sed 's / amazing / super / g; s / command / utility / gi 'textfile.txt

Sistemul va afișa următoarea ieșire.

Acesta este un fișier text demonstrativ.
Este un super fișier care ne va ajuta pe toți.
Utilitarul sed este, de asemenea, excelent pentru editarea fluxului.
Doriți să aflați cum să utilizați utilitarul?
Aceasta este o altă linie din fișier.
Aceasta este a treia linie generală din fișier.
Acest fișier este denumit fișier text.
Acesta este un măr.
Aceasta este o portocală.

7. Înlocuiți cuvintele numai dacă se găsește o potrivire

De asemenea, puteți utiliza comanda sed pentru a înlocui un cuvânt numai dacă o anumită potrivire se găsește în linie. De exemplu, pentru a înlocui cuvântul A cu un dacă cuvântul portocale este prezent în linie:

sed -e '/ orange / s / a / an / g' textfile.txt

Emiterea comenzii menționate mai sus va genera:

Acesta este un fișier text demonstrativ.
Este un super fișier care ne va ajuta pe toți.
Utilitarul sed este, de asemenea, excelent pentru editarea fluxului.
Doriți să aflați cum să utilizați utilitarul?
Aceasta este o altă linie din fișier.
Aceasta este a treia linie generală din fișier.
Acest fișier este denumit fișier text.
Acesta este un măr.
Aceasta este o portocală.

Rețineți că cuvântul in linie Acesta este un măr nu a fost înlocuit deoarece sistemul nu a găsit cuvântul portocale în ea.

8. Înlocuiți cuvintele folosind expresii regulate

Pentru cei care știu să utilizeze expresii regulate, efectuarea operațiunilor pe șiruri folosind comanda sed devine mult mai ușoară. Puteți implementa expresii regulate pentru a spori puterea comenzii.

Pentru a înlocui toate aparițiile cuvântului Uimitor sau uimitor cu super:

sed -e 's / [Aa] mazing / super / g' textfile.txt

În mod similar, puteți utiliza și expresii regulate avansate pentru a executa operațiuni specifice folosind comanda sed.

9. Pipe sed Cu alte comenzi

Puteți lanța sed și cu alte comenzi Linux. De exemplu, puteți conecta lspci comanda cu sed pentru a adăuga spații goale între linii în ieșire.

lspci | sed G

Pentru a înlocui cuvinte specifice în ieșirea din spectacol de traseu ip comanda:

ip route show | sed s / src / source / g

Comanda menționată mai sus înlocuiește cuvântul sursă în locul cuvântului original src.

Legate de: Cum se folosește comanda Găsiți pentru a căuta fișiere în Linux

10. Editați și faceți backup pentru fișierul original

Când lucrați cu fișiere de sistem, este importantă copierea de rezervă a fișierului original în timp ce efectuați modificări. Acest lucru vă va ajuta să reveniți la modificări în cazul în care ceva se strică.

Pentru a face o copie de siguranță a fișierului original utilizând sed, utilizați fișierul -i steag în comandă.

sed -i'.backup 's / amazing / super / g' textfile.txt

Un nou fișier va fi creat cu numele textfile.txt.backup. Puteți verifica dacă cele două fișiere sunt diferite folosind dif comanda.

diff textfile.txt textfile.txt.backup

Editarea șirurilor în Linux Cu sed

Uneori, în timp ce lucrați cu fișiere text pe terminal, formatarea și editarea rezultatului pentru o mai bună lizibilitate devine o necesitate. Sed și awk sunt utilitare de linie de comandă în Linux care permit utilizatorului să lucreze eficient cu fișiere text prin împărțirea datelor în linii separate.

Mulți utilizatori au dificultăți în memorarea argumentelor și semnalizărilor comenzii sed, deoarece există o mulțime dintre acestea care sunt disponibile pentru utilizare. Știind cum să obțineți manuale de linie de comandă pentru orice comandă Linux vă va ajuta să ieșiți cu ușurință din astfel de situații.

E-mail
7 moduri de a obține ajutor pentru linia de comandă pe Linux

Toate comenzile esențiale pentru a afla despre comenzile Linux din linia de comandă

Citiți în continuare

Subiecte asemănătoare
  • Linux
  • Editor de text
  • Terminal
  • Prompt de comandă
Despre autor
Deepesh Sharma (36 articole publicate)

Deepesh este Junior Editor pentru Linux la MUO. Scrie conținut informațional pe internet de peste 3 ani. În timpul liber, îi place să scrie, să asculte muzică și să cânte la chitară.

Mai multe de la Deepesh Sharma

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletterului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Încă un pas…!

Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.

.