Sed: Shelli skriptimise õppimine käsu Sed terminal abil

Sed: Shelli skriptimise õppimine käsu Sed terminal abil

Sed: Shelli skriptimise õppimine käsu Sed terminal abil

Käsk "sed" GNU / Linuxi tüüpi vabades operatsioonisüsteemides on see väga mitmekülgne käsk, sest see omakorda Seda peetakse tekstiredaktoriks, mis on orienteeritud tüüpiliste "interaktiivsete" asemel "voolule", kuna see aktsepteerib sisendina faili või standardsisendit, siis töötleb iga rida ja tulemus saadetakse standardväljundisse. See tähendab, SED (voo redaktor) võimaldab meil failide erinevate ridade sisu muuta käskude seeria või käsufaili põhjal.

Üldiselt kasutatakse filtrina käsku «sed», kuna see loeb teie andmesisestuse kõiki ridu ja sooritab seejärel nõutavad toimingud, mida tavaliselt loetakse, ekstraktitakse, muudetakse ja kuvatakse või salvestatakse. Kuigi selle jõud on selline, et lisaks võimaldab see meil mugaval viisil kustutada ridu, kirjeid või asendada failiridades olevad märgistringid.

Sissejuhatus käsklusesse “sed”

Ya en otras publicaciones anteriores en DesdeLinux hemos hablado y mostrados ejemplos sobre el uso de dicho comando, näiteks: Konkreetsete ridade kustutamine failist ... y Terminaliga: Regulaaravaldiste II kasutamine: asendused, nii et seekord näeme otseselt veidi arenenumaid ja sama praktilisi näiteid selle kasutamiseks.

Põhimõtteliselt on käsul «sed» järgmine süntaks:

sed comandos_sed archivo

Kus "Command_sed" vastab ühele või mitmele spetsifikatsioonile selle kohta, mida teha loetud ridadega "arhiiv".

Ulatuslikum kasutamine jätab meile järgmise süntaksi:

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

Kui:

SED-i käsu kasutamise vorming

Praktilised näited

Lisage teele failid / kaustad

Kasulik käsurida, mida saab kasutada määratud X-tee sisu loetlemiseks ja seejärel otsitud üksuse tuvastamiseks / loendamiseks / filtreerimiseks ja järgneva toimingu märkimiseks.

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

Näide:

Näide1: SED-käsk - Shelli skriptimine

See teine ​​käsku "sed" kasutav variant on väga kasulik:

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

Näide 4: SED-käsk Shelli skriptimiseks

Looge arvude jada

Kuvage ekraanil või salvestage faili arvuline järjestus (või mõni muu sisend), mis on loodud, kuid horisontaalsel (lineaarsel) ja mitte vertikaalsel viisil, mida saab hiljem teiste protsesside jaoks lugeda.

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

Näide 2: SED-käsk Shelli skriptimiseks

Sama näite saab teha, ühendades käsu «janu " koos "Printf" nagu allpool näidatud:

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

Näide 3: SED-käsk Shelli skriptimiseks

Kustuta välistustega failid

Failisüsteemi teekonna sirvimine failide mustrite otsimiseks välistamiseks ja seejärel ülejäänud sisu kustutamine. Väga kasulik täpseks ja hoolikaks puhastamiseks.

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

Näide 5: Shed_Scripti jaoks käsk SED

Looge virtuaalne MAC-aadress

See samm võib olla kasulik arvuti turvalisuse või kaitse ülesannete täitmiseks ohtlike saitide sirvimisel või häkkimistoimingute tegemisel.

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

Sama efekti saab saavutada, kasutades käsku "sed" koos teiste käskudega, nagu allpool näidatud:

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

Näide:

Näide 7: SED-käsk Shelli skriptimiseks

Ajutiselt muutke terminali käsku

See võib aidata meil ajutiselt sisestada parameetrisse parameetreid, mis võivad meile spetsiaalse tegevuse ajal kasulikud olla. Selles näites muudame ainult viiba kuvamise viisi.

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

Näide 8. SED-käsk Shelli skriptimiseks

Halda käsu "ps" väljundit

Väga praktiline käsukorraldus, mis võimaldab käsu «ps» väljundi, st terminaliprotsesside haldurist saadud vormindamist.

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

Näide:

Näide 9: SED-käsk Shelli skriptimiseks

Seda saab rakendada protsesside jaoks vastavalt tarbitud mälu protsendile:

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

Loodan, et need käsurea näited käsuga "sed", on väga kasulikud. Ja neid kasutatakse kasutamiseks otse konsoolist või kaudselt, sisestades need skripti (automatiseeritud ülesanne).

Järgmises Shelli skriptimise postituses uurime teisi käske.

Kui soovite käsu "sed" kohta veidi rohkem teada saada, külastage seda linki "Juhend ja lühike juhend Unixi ja Linuxi jaoks"Või"Põhikasutus»Ja kui soovite Shelli skriptimise kohta lisateavet meie enda ajaveebist, saate vaadata meie teisi selleteemalisi väljaandeid, klõpsates siin: Skriptimine DesdeLinux.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.