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

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

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

Naredba "sed" u besplatnim operativnim sustavima tipa GNU / Linux to je vrlo svestrana naredba, jer zauzvrat Smatra se uređivačem teksta orijentiranim na "protok" umjesto na "interaktivni" kao tipični, 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) nam omogućava da modificiramo sadržaj različitih redova datoteke na osnovu niza naredbi ili naredbene datoteke.

Načelno se naredba «sed» koristi kao filter, 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ćava nam na udoban način brisanje linija, snimanje ili zamjenu nizova znakova unutar redaka datoteke.

Uvod u naredbu "sed"

Već u drugim prethodnim publikacijama u DesdeLinux govorili smo i pokazali primjere o korištenju navedene komande, kao što su: Kako izbrisati određene redove iz datoteke ... y Sa 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

Gde "Command_sed" odgovara jednoj ili više specifikacija o tome šta raditi sa redovima iz kojih se čita "arhiva".

Opsežnija upotreba ostavlja nam sljedeću sintaksu:

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

Gde:

Format upotrebe naredbe SED

Praktični primjeri

Popis datoteka / mapa na putanji

Korisna naredbena linija koja se može koristiti za popis sadržaja naznačene X puta, a zatim otkrivanje / brojanje / filtriranje pretraživane stavke i ukazivanje na naknadnu radnju koju treba izvršiti.

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

Primjer:

Primjer1: SED naredba - Shell Scripting

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 ekranu ili spremite u datoteku numerički niz (ili bilo koji drugi ulaz) stvoren, ali u vodoravnom (linearnom), a ne vertikalnom obliku 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đ " con "Printf" kao što je prikazano ispod:

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

Primjer 3: SED naredba za Shell Scripting

Izbrišite datoteke s izuzecima

Pregledavanje putanje sistema datoteka tražeći obrasce datoteka koje će se izuzeti, a zatim izbrisati ostatak 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 web lokacija 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 efekt 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 upit 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 primjeru promijenit ćemo samo 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"

Ovi primjeri naredbenih linija pomoću naredbe "sed" nadam se da će vam biti vrlo korisni. A služe za upotrebu izravno s konzole ili indirektno umetanjem u skriptu (automatizirani zadatak).

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

Ako želite saznati malo 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 DesdeLinux.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.