Sed: Učenje skriptiranja ljuske pomoću naredbe Sed terminala

Sed: Učenje skriptiranja ljuske pomoću naredbe Sed terminala

Sed: Učenje skriptiranja ljuske pomoću naredbe Sed terminala

Naredba "sed" u besplatnim operativnim sustavima tipa GNU / Linux vrlo je svestrana naredba, budući da je zauzvrat Smatra se uređivačem teksta orijentiranim na "protok" umjesto na "interaktivni" kao tipične, budući da prihvaća datoteku ili standardni ulaz kao ulaz, tada obrađuje svaki redak i rezultat se šalje na standardni izlaz. To će reći, SED (Stream Editor) omogućuje nam izmjenu sadržaja različitih redaka datoteke na temelju niza naredbi ili naredbene datoteke.

Općenito se naredba «sed» koristi kao filtar, budući da čita svaki redak vašeg unosa podataka, a zatim izvodi tražene radnje koje se obično čitaju, izdvajaju, mijenjaju i prikazuju ili spremaju. Iako je njegova snaga takva da osim toga omogućuje nam na udoban način brisanje redaka, bilježenje ili zamjenu nizova znakova unutar redaka datoteke.

Uvod u naredbu "sed"

U drugim prethodnim publikacijama u DesdeLinuxu govorili smo i pokazali primjere korištenja ove naredbe, kao što su: Kako izbrisati određene retke iz datoteke ... y S terminalom: Korištenje regularnih izraza II: Zamjene, pa ćemo ovaj put izravno vidjeti malo naprednije i jednako praktične primjere koji ga koriste.

U osnovi naredba «sed» ima sljedeću sintaksu:

sed comandos_sed archivo

gdje "Command_sed" odgovara jednoj ili više specifikacija o tome što učiniti s retcima iz kojih se čita "arhiva".

Opsežnija upotreba ostavlja nam sljedeću sintaksu:

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

gdje je:

Format upotrebe naredbe SED

Praktični primjeri

Popis datoteka / mapa na putu

Korisni naredbeni redak koji se može koristiti za popis sadržaja određene X staze, a zatim otkrivanje / brojanje / filtriranje pretraživane stavke i ukazivanje na sljedeću radnju koju treba izvršiti.

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

primjer:

Primjer1: SED naredba - skriptiranje ljuske

Ova druga varijanta koja koristi naredbu "sed" je vrlo korisna:

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

Primjer 4: SED naredba za Shell Scripting

Stvorite niz brojeva

Prikažite na zaslonu ili spremite u datoteku numerički slijed (ili bilo koji drugi ulaz) stvoren, ali u vodoravnom (linearnom), a ne vertikalnom načinu koji se kasnije može čitati za druge procese.

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

Primjer 2: SED naredba za Shell Scripting

Isti se primjer može učiniti kombiniranjem naredbe «žeđ" s "Printf" kao što je prikazano niže:

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

Primjer 3: SED naredba za Shell Scripting

Izbrišite datoteke s izuzecima

Pregledavanje putanje datotečnog sustava u potrazi za obrascima datoteka koje će se isključiti, a zatim brisanje ostatka sadržaja. Vrlo korisno za precizno i ​​pažljivo čišćenje.

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

Primjer 5: SED naredba za Shell_Scripting

Stvorite virtualnu MAC adresu

Ovaj korak može biti koristan za zadatke računalne sigurnosti ili zaštite prilikom pregledavanja opasnih mjesta ili izvršavanja zadataka hakiranja.

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

Isti se učinak može postići korištenjem naredbe "sed" zajedno s ostalim naredbama, kao što je prikazano dolje:

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

primjer:

Primjer 7: SED naredba za Shell Scripting

Privremeno promijenite poziv terminala

To nam može pomoći da privremeno umetnemo parametre u naš upit koji nam mogu biti korisni dok provodimo posebnu aktivnost. U ovom ćemo primjeru samo promijeniti način na koji se prikazuje upit.

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

Primjer 8. SED naredba za Shell Scripting

Upravljajte izlazom naredbe "ps"

Vrlo praktična naredba naredbe kako bi se omogućilo formatiranje izlaza naredbe «ps», odnosno onoga što se dobiva od Upravitelja procesa terminala.

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

primjer:

Primjer 9: SED naredba za Shell Scripting

To se može primijeniti na procese prema postotku utrošene memorije:

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

Nadam se da će ovi primjeri naredbenog retka pomoću naredbe "sed" biti vrlo korisni. A koriste se za upotrebu izravno s konzole ili neizravno umetanjem u skriptu (automatizirani zadatak).

U sljedećem postu o Shell Scriptingu istražit ćemo druge naredbe.

Ako želite saznati nešto više o naredbi "sed", posjetite ovaj link "Vodič i kratki vodič za Unix i Linux"Ili"Osnovna upotreba»A ako želite saznati više o Shell skriptiranju na našem vlastitom blogu, možete pogledati naše ostale publikacije na tu temu, klikom ovdje: Skriptiranje u FromLinuxu.


Sadržaj članka pridržava se naših načela urednička etika. Da biste prijavili pogrešku, kliknite ovdje.

Budite prvi koji će komentirati

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.