Sed: Învățarea scripturilor Shell folosind comanda Sed Terminal

Sed: Învățarea scripturilor Shell folosind comanda Sed Terminal

Sed: Învățarea scripturilor Shell folosind comanda Sed Terminal

Comanda "sed" în sistemele de operare libere de tip GNU / Linux este o comandă foarte versatilă, deoarece la rândul său Este considerat un editor de text orientat spre „flux” în loc de „interactiv” ca și cele tipice, deoarece acceptă un fișier sau o intrare standard ca intrare, apoi procesează fiecare linie și rezultatul este trimis la ieșirea standard. Adică, SED (Stream EDitor) ne permite să modificăm conținutul diferitelor linii ale unui fișier pe baza unei serii de comenzi sau a unui fișier de comandă.

În general, comanda «sed» este utilizată ca filtru, deoarece citește fiecare rând al introducerii de date și apoi efectuează acțiunile solicitate care sunt de obicei citite, extrase, modificate și afișate sau salvate. Deși puterea sa este de așa natură încât în plus, ne permite într-un mod confortabil, să ștergem liniile, să înregistrăm sau să înlocuim șirurile de caractere din liniile unui fișier.

Introducere în comanda „sed”

Ya en otras publicaciones anteriores en DesdeLinux hemos hablado y mostrados ejemplos sobre el uso de dicho comando, cum ar fi: Cum să ștergeți anumite linii dintr-un fișier ... y Cu Terminal: Utilizarea Expressions Regular II: Înlocuiri, deci de data aceasta vom vedea în mod direct un pic mai avansat și la fel de exemple practice folosindu-l.

Practic comanda «sed» are următoarea sintaxă:

sed comandos_sed archivo

unde „Command_sed” corespunde uneia sau mai multor specificații despre ceea ce trebuie făcut cu liniile citite "Arhiva".

O utilizare mai extinsă ne lasă următoarea sintaxă:

sed [-ns] '[direccion] instruccion argumentos'

În cazul în care:

Format de utilizare a comenzii SED

Exemple practice

Listează fișierele / folderele dintr-o cale

Linie de comandă utilă care poate fi utilizată pentru a lista conținutul unei căi X indicate și apoi pentru a detecta / număra / filtra un element căutat și pentru a indica o acțiune ulterioară care trebuie efectuată.

ls -l | awk '{ print $NF }' | sed 1d

Exemplu:

Exemplul 1: comanda SED - Shell Scripting

Această altă variantă care utilizează comanda „sed” este foarte utilă:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

Exemplul 4: comanda SED pentru Shell Scripting

Creați o secvență numerică

Afișați pe ecran sau salvați într-un fișier o secvență numerică (sau orice altă intrare) creată, dar în formă orizontală (liniară) și nu verticală, care poate fi citită ulterior pentru alte procese.

seq 100|tr '\n' ' '|sed 's, $,\n,g'

Exemplul 2: comanda SED pentru Shell Scripting

Același exemplu se poate face prin combinarea comenzii «sete" cu „Printf” așa cum se arată mai jos:

printf '%s ' {1..100}|sed 's/ $/\n/'

Exemplul 3: comanda SED pentru Shell Scripting

Ștergeți fișierele cu excluderi

Trecerea printr-o cale a sistemului de fișiere caută modele de fișiere pentru a le exclude și apoi șterge restul conținutului. Foarte util pentru o curățare precisă și atentă.

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

Exemplul 5: comanda SED pentru Shell_Scripting

Creați o adresă MAC virtuală

Acest pas poate fi util pentru securitatea computerului sau sarcinile de protecție atunci când răsfoiți site-uri periculoase sau efectuați sarcini de hacking.

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

Același efect poate fi obținut utilizând comanda „sed” împreună cu alte comenzi, așa cum se arată mai jos:

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

Exemplu:

Exemplul 7: comanda SED pentru Shell Scripting

Schimbați temporar promptul terminal

Acest lucru ne poate ajuta să introducem temporar în prompt parametrii care ne pot fi de folos în timp ce desfășurăm o activitate specială. În acest exemplu, vom schimba doar modul în care este afișată solicitarea.

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

Exemplul 8. Comanda SED pentru Shell Scripting

Gestionați ieșirea comenzii „ps”

Comandă de comandă foarte practică pentru a permite formatarea ieșirii comenzii «ps», adică ceea ce se obține de la Terminal Process Manager.

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

Exemplu:

Exemplul 9: comanda SED pentru Shell Scripting

Acest lucru poate fi aplicat proceselor în funcție de procentul de memorie consumată:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

Aceste exemple de linii de comandă care utilizează comanda „sed” sper că ți se pare foarte util. Și servesc pentru a fi utilizate direct din consolă sau indirect prin inserarea lor într-un script (sarcină automată).

În următoarea postare despre Shell Scripting vom explora alte comenzi.

Dacă doriți să aflați mai multe despre comanda „sed” vizitați acest link ”Tutorial și Ghid scurt pentru Unix și Linux"Sau"Utilizare de bază»Și dacă doriți să aflați mai multe despre Shell Scripting în propriul nostru blog, puteți arunca o privire la celelalte publicații pe acest subiect, făcând clic aici: Scripting DesdeLinux.


Lasă comentariul tău

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

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.