Sed: Učenje skriptov lupine z uporabo ukaza Sed Terminal

Sed: Učenje skriptov lupine z uporabo ukaza Sed Terminal

Sed: Učenje skriptov lupine z uporabo ukaza Sed Terminal

Ukaz "sed" v brezplačnih operacijskih sistemih tipa GNU / Linux je zelo vsestranski ukaz, saj po drugi strani Šteje se za urejevalnik besedil, ki je kot tipičen usmerjen v "pretok" namesto v "interaktivni", saj kot vhod sprejme datoteko ali standardni vhod, nato obdela vsako vrstico in rezultat se pošlje v standardni izhod. Se pravi, SED (Stream Editor) nam omogoča spreminjanje vsebine različnih vrstic datoteke na podlagi niza ukazov ali ukazne datoteke.

Na splošno se ukaz «sed» uporablja kot filter, saj prebere vsako vrstico vnosa podatkov in nato izvede zahtevana dejanja, ki jih običajno preberemo, izvlečemo, spremenimo in prikažemo ali shranimo. Čeprav je njegova moč takšna, da poleg tega nam omogoča udobno brisanje vrstic, snemanje ali zamenjavo nizov znakov znotraj vrstic datoteke.

Uvod v ukaz "sed"

Že v drugih prejšnjih objavah v DesdeLinux smo govorili in pokazali primere o uporabi omenjenega ukaza, kot so: Kako izbrisati določene vrstice iz datoteke ... y S terminalom: Uporaba regularnih izrazov II: Zamenjave, zato bomo tokrat neposredno videli nekoliko naprednejše in prav tako praktične primere njegove uporabe.

V bistvu ima ukaz «sed» naslednjo skladnjo:

sed comandos_sed archivo

kjer je "Command_sed" ustreza eni ali več specifikacijam o tem, kaj storiti s črtami, ki jih beremo "arhiv".

Obširnejša uporaba nam pušča naslednjo skladnjo:

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

Kje:

Oblika uporabe ukaza SED

Praktični primeri

Seznam datotek / map na poti

Uporabna ukazna vrstica, s katero lahko navedete vsebino določene poti X in nato zaznate / preštete / filtrirate iskani element in navedete nadaljnje dejanje, ki ga je treba izvesti.

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

Primer:

Primer 1: Ukaz SED - Skriptiranje lupine

Ta druga različica z uporabo ukaza "sed" je zelo koristna:

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

Primer 4: Ukaz SED za skriptno lupino

Ustvari zaporedje števil

Prikažite na zaslonu ali shranite v datoteko ustvarjeno številčno zaporedje (ali kateri koli drug vhod), vendar vodoravno (linearno) in ne navpično, da ga je mogoče pozneje prebrati za druge procese.

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

Primer 2: Ukaz SED za skriptno lupino

Isti primer lahko storimo s kombiniranjem ukaza «žeja" z "Printf" kot je prikazano spodaj:

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

Primer 3: Ukaz SED za skriptno lupino

Izbrišite datoteke z izključitvami

Prebiranje poti datotečnega sistema v iskanju vzorcev datotek za izključitev in nato brisanje preostale vsebine. Zelo uporabno za natančno in skrbno čiščenje.

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

Primer 5: Ukaz SED za Shell_Scripting

Ustvarite navidezni naslov MAC

Ta korak je lahko koristen za naloge računalniške varnosti ali zaščite pri brskanju po nevarnih mestih ali pri izvajanju vdorov.

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

Enak učinek lahko dosežemo z uporabo ukaza "sed" v povezavi z drugimi ukazi, kot je prikazano spodaj:

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

Primer:

Primer 7: Ukaz SED za skriptno lupino

Začasno spremenite poziv terminala

To nam lahko pomaga, da začasno vstavimo v naš poziv parametre, ki so nam lahko koristni med izvajanjem posebne dejavnosti. V tem primeru bomo spremenili samo način prikaza poziva.

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

Primer 8. Ukaz SED za skriptno lupino

Upravljajte z izhodom ukaza "ps"

Zelo praktičen ukazni vrstni red, ki omogoča oblikovanje izhoda ukaza «ps», to je tisto, kar dobimo od Terminal Process Manager.

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

Primer:

Primer 9: Ukaz SED za skriptno lupino

To se lahko uporablja za procese glede na odstotek porabljenega pomnilnika:

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

Ti primeri ukaznih vrstic z uporabo ukaza "sed" upam, da se vam zdijo zelo koristni. Uporabljajo se lahko za neposredno uporabo konzole ali posredno z vstavljanjem v skript (avtomatizirano opravilo).

V naslednjem prispevku o Shell Scripting bomo raziskali druge ukaze.

Če želite izvedeti nekaj več o ukazu "sed", obiščite to povezavo "Vadnica in kratek vodnik za Unix in Linux"Ali"Osnovna uporaba»In če želite izvedeti več o Shell Scripting v našem blogu, si lahko ogledate naše druge publikacije na to temo, tako da kliknete tukaj: Skriptiranje DesdeLinux.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.