Sed: Shell skriptu mācīšanās, izmantojot komandu Sed Terminal

Sed: Shell skriptu mācīšanās, izmantojot komandu Sed Terminal

Sed: Shell skriptu mācīšanās, izmantojot komandu Sed Terminal

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:

SED komandu izmantošanas formāts

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:

1. piemērs: SED komanda - Shell Scripting

Š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

4. piemērs: SED komanda Shell Scripting

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'

2. piemērs: SED komanda Shell Scripting

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/'

3. piemērs: SED komanda Shell Scripting

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

5. piemērs: SED komanda Shell_Scripting

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:

7. piemērs: SED komanda Shell Scripting

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' )\\> "

8. piemērs. SED komanda Shell Scripting

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:

9. piemērs: SED komanda Shell Scripting

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.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.