Sed: Učenie skriptovania pomocou príkazu Sed Terminal

Sed: Učenie skriptovania pomocou príkazu Sed Terminal

Sed: Učenie skriptovania pomocou príkazu Sed Terminal

Príkaz „sed“ vo slobodných operačných systémoch typu GNU / Linux je to veľmi univerzálny príkaz Považuje sa za textový editor zameraný na „tok“ namiesto na „interaktívny“ ako typický, pretože prijíma súbor alebo štandardný vstup ako vstup, potom spracuje každý riadok a výsledok sa odošle na štandardný výstup. To znamená, SED (Stream EDitor) nám umožňuje upravovať obsah rôznych riadkov súboru na základe série príkazov alebo príkazového súboru.

Spravidla sa ako filter používa príkaz «sed», pretože prečíta každý riadok zadaného údaja a potom vykoná požadované akcie, ktoré sa zvyčajne čítajú, extrahujú, upravujú a zobrazujú alebo ukladajú. Aj keď jeho sila je taká, že navyše nám umožňuje pohodlným spôsobom mazať riadky, záznamy alebo nahrádzať reťazce znakov v riadkoch súboru.

Úvod do príkazu „sed“

V ďalších predchádzajúcich publikáciách v DesdeLinuxe sme hovorili a ukazovali príklady použitia tohto príkazu, ako napríklad: Ako odstrániť konkrétne riadky zo súboru ... y S terminálom: Používanie regulárnych výrazov II: Náhrady, takže tentokrát sa priamo dočkáme trochu pokročilejších a rovnako praktických príkladov jeho použitia.

Príkaz «sed» má v zásade nasledujúcu syntax:

sed comandos_sed archivo

kde "Command_sed" zodpovedá jednej alebo viacerým špecifikáciám, čo robiť s riadkami, z ktorých sa číta „archív“.

Rozsiahlejšie použitie nám ponecháva nasledujúcu syntax:

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

Kde:

Formát použitia príkazu SED

Praktické príklady

Zoznam súborov / priečinkov na ceste

Užitočný príkazový riadok, ktorý možno použiť na vypísanie obsahu označenej cesty X a následnú detekciu / počítanie / filtrovanie hľadanej položky a na označenie následnej akcie, ktorá sa má vykonať.

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

príklad:

Príklad1: Príkaz SED - skriptovanie Shell

Tento ďalší variant používajúci príkaz "sed" je veľmi užitočný:

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

Príklad 4: Príkaz SED pre skriptovanie Shell

Vytvorte číselnú postupnosť

Zobrazte na obrazovke alebo uložte do súboru číselnú sekvenciu (alebo akýkoľvek iný vstup) vytvorenú, ale horizontálnym (lineárnym) a nie vertikálnym spôsobom, ktorý je možné neskôr prečítať pre iné procesy.

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

Príklad 2: Príkaz SED pre skriptovanie Shell

Rovnaký príklad je možné vykonať kombináciou príkazu «smäd “ s "Printf" ako je uvedené nižšie:

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

Príklad 3: Príkaz SED pre skriptovanie Shell

Odstráňte súbory s vylúčením

Prechádzanie cestou systému súborov, hľadanie vzorov súborov, ktoré sa majú vylúčiť, a následné odstránenie zvyšku obsahu. Veľmi užitočné pre presné a starostlivé čistenie.

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

Príklad 5: Príkaz SED pre Shell_Scripting

Vytvorte virtuálnu adresu MAC

Tento krok môže byť užitočný pri úlohách zabezpečenia alebo ochrany počítača pri prehliadaní nebezpečných stránok alebo pri vykonávaní hackerských úloh.

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

Rovnaký efekt je možné dosiahnuť použitím príkazu „sed“ v spojení s ďalšími príkazmi, ako je uvedené nižšie:

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

príklad:

Príklad 7: Príkaz SED pre skriptovanie Shell

Dočasne zmeňte príkazový riadok terminálu

To nám môže pomôcť dočasne vložiť do našej výzvy parametre, ktoré nám môžu byť užitočné pri vykonávaní špeciálnej činnosti. V tomto príklade zmeníme iba spôsob zobrazenia výzvy.

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

Príklad 8. Príkaz SED pre skriptovanie Shell

Spravujte výstup príkazu „ps“

Veľmi praktické poradie príkazov, ktoré umožňuje formátovanie výstupu príkazu «ps», teda to, čo sa získa z aplikácie Terminal Process Manager.

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

príklad:

Príklad 9: Príkaz SED pre skriptovanie Shell

To možno použiť na procesy podľa percenta spotrebovanej pamäte:

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

Tieto príklady príkazových riadkov pomocou príkazu "sed", dúfam, že sú pre vás veľmi užitočné. Slúžia na priame použitie z konzoly alebo nepriamo ich vložením do skriptu (automatizovaná úloha).

V nasledujúcom príspevku o Shell Scripting preskúmame ďalšie príkazy.

Ak sa chcete dozvedieť niečo viac o príkaze „sed“, navštívte tento odkaz.Tutorial and Brief Guide for Unix and Linux„Alebo“Základné použitie»A ak sa chcete dozvedieť viac informácií o skriptovaní Shell v našom vlastnom blogu, môžete sa pozrieť na naše ďalšie publikácie týkajúce sa tejto témy kliknutím sem: Skriptovanie z FromLinuxu.


Pridať ako preferovaný zdroj