Komanda "sed" GNU / Linux tipa bezmaksas operētājsistēmās tā ir ļoti universāla komanda, jo tā savukārt Tas tiek uzskatīts par teksta redaktoru, kas orientēts uz "plūsmu", nevis "interaktīvu" kā tipisku, tā kā tas pieņem failu vai standarta ievadi kā ievadi, pēc tam apstrādā katru rindu un rezultāts tiek nosūtīts uz standarta izvadi. Proti, SED (straumes redaktors) ļauj mums mainīt faila dažādu rindiņu saturu, pamatojoties uz komandu virkni vai komandu failu.
Parasti filtru izmanto komandu «sed», jo tā nolasa katru datu ievades rindu un pēc tam veic pieprasītās darbības, kuras parasti tiek nolasītas, izvilktas, pārveidotas un parādītas vai saglabātas. Lai gan tā spēks ir tāds, ka Turklāt tas ļauj mums ērti izdzēst rindas, ierakstus vai aizstāt rakstzīmju virknes faila rindās.
Ievads komandā “sed”
Ya en otras publicaciones anteriores en DesdeLinux hemos hablado y mostrados ejemplos sobre el uso de dicho comando, piemēram: Kā no faila izdzēst noteiktas rindas ... y Ar termināli: izmantojot regulārās izteiksmes II: aizstājēji, tāpēc šoreiz mēs tieši redzēsim nedaudz uzlabotus un tikpat praktiskus piemērus, kā to izmantot.
Būtībā komandai «sed» ir šāda sintakse:
sed comandos_sed archivo
Kur "Command_sed" atbilst vienai vai vairākām specifikācijām par to, ko darīt ar rindām, no kurām nolasīts "arhīvu".
Plašāka izmantošana mums dod šādu sintaksi:
sed [-ns] '[direccion] instruccion argumentos'
Kur:
Praktiski piemēri
Sarakstiet failus / mapes ceļā
Noderīga komandrinda, ko var izmantot, lai uzskaitītu norādītā X ceļa saturu un pēc tam noteiktu / saskaitītu / filtrētu meklēto vienumu un norādītu turpmāko veicamo darbību.
ls -l | awk '{ print $NF }' | sed 1d
piemērs:
Šis cits variants, izmantojot komandu "sed", ir ļoti noderīgs:
find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename
Izveidojiet numuru secību
Parādiet ekrānā vai saglabājiet failā izveidotu skaitlisku secību (vai jebkuru citu ievadi), bet horizontāli (lineāri), nevis vertikāli, ko vēlāk var nolasīt citiem procesiem.
seq 100|tr '\n' ' '|sed 's, $,\n,g'
To pašu piemēru var izdarīt, apvienojot komandu «slāpes " ar "Printf" kā parādīts zemāk:
printf '%s ' {1..100}|sed 's/ $/\n/'
Dzēst failus ar izslēgšanu
Pārlūkojot failu sistēmas ceļu, meklējot failu modeļus, lai tos izslēgtu, un pēc tam izdzēšot pārējo saturu. Ļoti noderīga precīzai un rūpīgai tīrīšanai.
find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm
Izveidojiet virtuālu MAC adresi
Šis solis var būt noderīgs datoru drošības vai aizsardzības uzdevumiem, pārlūkojot bīstamas vietnes vai veicot uzlaušanas uzdevumus.
MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC
To pašu efektu var panākt, izmantojot komandu "sed" kopā ar citām komandām, kā parādīts zemāk:
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
piemērs:
Uz laiku mainiet termināla uzvedni
Tas var mums palīdzēt īslaicīgi ievietot parametrus, kas mums var būt noderīgi, kamēr veicam īpašu darbību. Šajā piemērā mēs mainīsim tikai uzvednes parādīšanas veidu.
export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "
Pārvaldiet komandas "ps" izvadi
Ļoti praktiska komandu kārtība, kas ļauj formatēt komandas «ps» izvadi, tas ir, to, kas tiek iegūts no termināla procesu pārvaldnieka.
sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"
piemērs:
To var piemērot procesiem pēc patērētās atmiņas procentiem:
sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"
Es ceru, ka šie komandrindas piemēri, izmantojot komandu "sed", būs ļoti noderīgi. Un tos var izmantot, lai tos izmantotu tieši no konsoles vai netieši, ievietojot tos skriptā (automatizēts uzdevums).
Nākamajā ziņojumā par Shell Scripting mēs izpētīsim citas komandas.
Ja vēlaties uzzināt nedaudz vairāk par komandu "sed", apmeklējiet šo saiti "Apmācība un īss ceļvedis Unix un Linux"Vai"Pamata lietošana»Un, ja vēlaties uzzināt vairāk par Shell Scripting mūsu pašu emuārā, jūs varat apskatīt citas mūsu publikācijas par šo tēmu, noklikšķinot šeit: Skriptēšana DesdeLinux.