Sed: Mësoni Shkrimin e Shellit duke përdorur komandën Sed Terminal

Sed: Mësoni Shkrimin e Shellit duke përdorur komandën Sed Terminal

Sed: Mësoni Shkrimin e Shellit duke përdorur komandën Sed Terminal

Komanda "sed" në Sistemet Operative Falas të tipit GNU / Linux është një komandë shumë e shkathët, pasi që nga ana tjetër Konsiderohet si një redaktues teksti i orientuar në "rrjedhën" në vend të "ndërveprimit" si ato tipike, pasi pranon një skedar ose hyrje standarde si hyrje, atëherë përpunon secilën rresht dhe rezultati dërgohet në daljen standarde. Kjo do të thotë, SED (Stream Editor) na lejon të modifikojmë përmbajtjen e linjave të ndryshme të një skedari bazuar në një seri komandash ose një skedari komandues.

Në përgjithësi, komanda «sed» përdoret si filtër, pasi lexon secilën rresht të futjes tuaj të të dhënave dhe më pas kryen veprimet e kërkuara që zakonisht lexohen, ekstraktohen, modifikohen dhe shfaqen ose ruhen. Edhe pse fuqia e tij është e tillë që përveç kësaj, kjo na lejon në një mënyrë të rehatshme, për të fshirë linjat, rekordet ose për të zëvendësuar vargjet e karakterit brenda linjave të një skedari.

Hyrje në komandën "sed"

Tashmë në botime të tjera të mëparshme në DesdeLinux kemi folur dhe kemi treguar shembuj rreth përdorimit të komandës në fjalë, të tilla si: Si të fshini linja specifike nga një skedar ... y Me Terminal: Përdorimi i Shprehjeve të Rregullta II: Zëvendësimet, kështu që këtë herë do të shohim drejtpërdrejt pak më të përparuar dhe po aq shembuj praktikë duke e përdorur atë.

Në thelb komanda «sed» ka sintaksën e mëposhtme:

sed comandos_sed archivo

ku "Command_sed" korrespondon me një ose më shumë specifikime se çfarë të bëhet me linjat nga të cilat lexohen "Arkivi".

Një përdorim më i gjerë na lë me sintaksën e mëposhtme:

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

Ku:

Formati i përdorimit të komandës SED

Shembuj praktikë

Renditni Skedarët / Dosjet në një shteg

Një rresht i dobishëm komandash që mund të përdoret për të renditur përmbajtjen e një rruge X të specifikuar dhe më pas të zbulojë / numërojë / filtrojë një artikull të kërkuar dhe të tregojë një veprim të mëvonshëm që duhet të kryhet.

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

Shembull:

Shembulli1: komanda SED - Shkrimi i Shell

Ky variant tjetër që përdor komandën "sed" është shumë i dobishëm:

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

Shembulli 4: Komanda SED për Shell Scripting

Krijoni një sekuencë numrash

Shfaqni në ekran ose ruani në një skedar një sekuencë numerike (ose ndonjë hyrje tjetër) të krijuar por në një mënyrë horizontale (lineare) dhe jo vertikale që mund të lexohet më vonë për proceset e tjera.

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

Shembulli 2: Komanda SED për Shell Scripting

I njëjti shembull mund të bëhet duke kombinuar komandën «etje " me "Printf" siç tregohet më poshtë:

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

Shembulli 3: Komanda SED për Shell Scripting

Fshi skedarët me përjashtime

Shoshimi nëpër një shteg të Sistemit të Skedarëve duke kërkuar modele të skedarëve për të përjashtuar dhe më pas duke fshirë pjesën tjetër të përmbajtjes. Shumë e dobishme për pastrim të saktë dhe të kujdesshëm.

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

Shembulli 5: Komanda SED për Shell_Scripting

Krijoni një adresë virtuale MAC

Ky hap mund të jetë i dobishëm për sigurinë e kompjuterit ose detyrat e mbrojtjes kur shfletoni faqet e rrezikshme ose kryeni detyra hackimi.

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

I njëjti efekt mund të arrihet duke përdorur komandën "sed" së bashku me komandat e tjera, siç tregohet më poshtë:

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

Shembull:

Shembulli 7: Komanda SED për Shell Scripting

Ndryshoni përkohësisht Promptin e Terminalit

Kjo mund të na ndihmojë që të fusim përkohësisht parametra në kërkesën tonë që mund të jenë të dobishëm për ne ndërsa kryejmë një aktivitet të veçantë. Në këtë shembull ne do të ndryshojmë vetëm mënyrën e shfaqjes së shpejtë.

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

Shembull 8. komanda SED për Shell Scripting

Menaxhoni prodhimin e komandës "ps"

Urdhër komandimi shumë praktik për të lejuar formatimin e daljes së komandës «ps», domethënë atë që merret nga Menaxheri i Procesit Terminal.

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

Shembull:

Shembulli 9: Komanda SED për Shell Scripting

Kjo mund të zbatohet për proceset sipas përqindjes së kujtesës së konsumuar:

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

Këta shembuj të linjave komanduese që përdorin komandën "sed" shpresoj se ju duket shumë e dobishme. Dhe ato janë përdorur për t'u përdorur direkt nga tastiera ose indirekt duke i futur ato në një skenar (detyrë e automatizuar).

Në postimin tjetër në Shell Scripting ne do të shqyrtojmë komanda të tjera.

Nëse dëshironi të mësoni pak më shumë rreth komandës "sed" vizitoni këtë link "Udhëzues dhe udhëzues i shkurtër për Unix dhe Linux"Ose"Përdorimi themelor»Dhe nëse doni të mësoni më shumë rreth Shkrimit të Shell në Blogun tonë, ju mund të hidhni një vështrim në botimet tona të tjera mbi këtë temë, duke klikuar këtu: Scripting DesdeLinux.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.