Aceste 10 exemple Sed vă vor face un utilizator cu putere Linux

Aceste 10 exemple Sed vă vor face un utilizator cu putere Linux

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 detaliat 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, de asemenea, expresii regulate cu comanda sed pentru a edita fluxurile de text mai eficient.



Sintaxa de bază a comenzii este:

sed [options] [pattern] [filepath]

...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.





cum să ștergeți clipboard-ul pe Android

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 cu putere Linux.

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





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

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

The -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 . The p argumentul reprezintă imprimare și este folosit pentru a afișa utilizatorului liniile potrivite.

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

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

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

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

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

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:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

The -Și steagul ajută 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ă.

cum se face o instalare Windows 10 USB
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 înlocuirea cuvintelor folosind comanda sed este:

sed s/originalword/replaceword/g filename

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

The 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 majusculele cu caractere în timp ce înlocuiți cuvinte, utilizați da 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. Înlocuiește cuvintele din 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.

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

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 potrivire dată se găsește în linie. De exemplu, pentru a înlocui cuvântul la 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:

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

Rețineți că cuvântul la 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țiilor 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 se sparge ceva.

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

jocuri multiplayer pentru iPhone și Android
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 împărțind datele î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.

Acțiune Acțiune Tweet 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(79 articole publicate)

Deepesh este Junior Editor pentru Linux la MUO. El scrie ghiduri informaționale pe Linux, cu scopul de a oferi o experiență fericită tuturor noilor veniți. Nu sunt sigur de filme, dar dacă vrei să vorbești despre tehnologie, el este tipul tău. În timpul liber, îl poți găsi citind cărți, ascultând diferite genuri muzicale sau cântând la chitară.

Mai multe de la Deepesh Sharma

Aboneaza-te la newsletter-ul nostru

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

Faceți clic aici pentru a vă abona