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”

Teistes varasemates DesdeLinuxi väljaannetes oleme rääkinud ja näidanud näiteid selle käsu kasutamise kohta, 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 FromLinuxis.


Lisa eelistatud allikana