Sed: Lernado de Ŝelaj Skriptoj Uzante la Komandon Sed Terminal

Sed: Lernado de Ŝelaj Skriptoj Uzante la Komandon Sed Terminal

Sed: Lernado de Ŝelaj Skriptoj Uzante la Komandon Sed Terminal

La komando "sed" En Liberaj Operaciumoj de la tipo GNU / Linukso ĝi estas tre multflanka komando, ĉar siavice ĝi estas konsiderata tekstredaktilo orientita al "fluo" anstataŭ "interaga" kiel la tipaj, ĉar ĝi akceptas dosieron aŭ norman enigon kiel enigaĵon, tiam prilaboras ĉiun linion kaj la rezulto estas sendita al norma eligo. Alivorte, SED (Stream EDitor) permesas al ni modifi la enhavon de la malsamaj linioj de dosiero surbaze de serio de komandoj aŭ komanddosiero.

Ĝenerale la komando «sed» estas uzata kiel filtrilo, ĉar ĝi legas ĉiun linion de via datuma eniro kaj tiam plenumas la petitajn agojn, kiuj estas kutime legataj, eltiritaj, modifitaj kaj montrotaj aŭ konservotaj. Kvankam ĝia potenco estas tia, ke aldone ĝi permesas al ni komforte forigi liniojn, registrojn aŭ anstataŭigi signajn ĉenojn ene de la linioj de dosiero.

Enkonduko al la komando "sed"

En aliaj antaŭaj eldonaĵoj en DesdeLinux ni parolis kaj montris ekzemplojn pri la uzo de ĉi tiu komando, kiel ekzemple: Kiel forigi specifajn liniojn de dosiero ... y Kun Terminalo: Uzi Regulajn Esprimojn II: Anstataŭaĵoj, do ĉi-foje ni rekte vidos iom pli progresintajn kaj same praktikajn ekzemplojn uzantajn ĝin.

Esence la komando «sed» havas la jenan sintakson:

sed comandos_sed archivo

Donde "Command_sed" egalrilatas al unu aŭ pluraj specifoj pri tio, kion fari kun la linioj legataj de "arkivo".

Pli vasta uzo lasas al ni la sekvan sintakson:

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

Donde:

Formato de Komanda Uzo de SED

Praktikaj ekzemploj

Listigu Dosierojn / Dosierujojn en vojo

Utila komandlinio uzebla por listigi la enhavon de specifa X-vojo kaj poste detekti / kalkuli / filtri serĉitan eron kaj indiki postan agadon.

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

Ekzemplo:

Ekzemplo1: SED-komando - Shell Scripting

Ĉi tiu alia varianto uzanta la komandon "sed" estas tre utila:

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

Ekzemplo 4: SED-komando por Shell Scripting

Kreu nombran sinsekvon

Montru sur la ekrano aŭ konservu en dosiero nombran sinsekvon (aŭ iun ajn alian enigaĵon) kreitan sed laŭ horizontala (lineara) kaj ne vertikala maniero, kiu poste legeblas por aliaj procezoj.

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

Ekzemplo 2: SED-komando por Shell Scripting

La saman ekzemplon eblas fari per kombino de la komando «soifo" con "Printf" kiel montrite sube:

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

Ekzemplo 3: SED-komando por Shell Scripting

Forigi dosierojn kun ekskludoj

Kontrolante dosiersisteman vojon serĉante ŝablonojn de dosieroj ekskludeblaj kaj poste forigante la reston de la enhavo. Tre utila por preciza kaj zorgema purigado.

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

Ekzemplo 5: SED-komando por Shell_Scripting

Kreu virtualan MAC-adreson

Ĉi tiu paŝo povas esti utila por komputilaj sekurecaj aŭ protektaj taskoj dum foliumado de danĝeraj retejoj aŭ realigado de hakaj taskoj.

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

La sama efiko povas esti atingita uzante la komandon "sed" kune kun aliaj komandoj, kiel montrite sube:

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

Ekzemplo:

Ekzemplo 7: SED-komando por Shell Scripting

Provizore ŝanĝu la Terminal-Prompton

Ĉi tio povas helpi nin provizore enmeti parametrojn en nia avizo, kiuj povas esti utilaj al ni dum ni plenumas specialan agadon. En ĉi tiu ekzemplo ni nur ŝanĝos la manieron montri la promptilon.

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

Ekzemplo 8. Komando SED por Shell Scripting

Administru la eliron de la "ps" Komando

Tre praktika ordono por permesi la formatadon de la eligo de la komando «ps», tio estas, kion oni akiras de la Terminalo-Procezadministrilo.

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

Ekzemplo:

Ekzemplo 9: SED-komando por Shell Scripting

Ĉi tio aplikeblas por procezoj laŭ la procento de memoro konsumita:

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

Ĉi tiujn ekzemplojn de komandlinioj per la komando "sed" mi esperas, ke vi trovos ĝin tre utila. Kaj ili povas esti uzataj rekte de la konzolo aŭ nerekte enmetante ilin en skripton (aŭtomata tasko).

En la sekva afiŝo pri Shell Scripting ni esploros aliajn komandojn.

Se vi volas lerni iom pli pri la komando "sed" vizitu ĉi tiun ligon "Lernilo kaj Mallonga Gvidilo por Unikso kaj Linukso"Aŭ"Baza uzo»Kaj se vi volas lerni pli pri Shell-Skriptado en nia propra Blogo, vi povas rigardi niajn aliajn eldonaĵojn pri la temo, alklakante ĉi tie: Skribado en FromLinux.


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

Estu la unua por komenti

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.