Sed: At lære Shell Scripting ved hjælp af Sed Terminal Command

Sed: At lære Shell Scripting ved hjælp af Sed Terminal Command

Sed: At lære Shell Scripting ved hjælp af Sed Terminal Command

Kommandoen "sed" i gratis operativsystemer af GNU / Linux-typen er det en meget alsidig kommando, da det igen Det betragtes som en teksteditor, der er orienteret mod "flow" i stedet for "interaktiv" som den typiske, da den accepterer en fil eller standardindgang som input, behandler hver linje, og resultatet sendes til standardoutput. Det vil sige, SED (Stream EDitor) giver os mulighed for at ændre indholdet af de forskellige linjer i en fil baseret på en række kommandoer eller en kommandofil.

Generelt bruges kommandoen «sed» som et filter, da den læser hver linje i din dataindtastning og derefter udfører de ønskede handlinger, der normalt læses, udpakkes, ændres og vises eller gemmes. Selvom dens magt er sådan, at derudover tillader det os på en behagelig måde at slette linjer, registrere eller udskifte tegnstrenge inden for linjerne i en fil.

Introduktion til kommandoen “sed”

Allerede i andre tidligere udgivelser i DesdeLinux vi har talt og vist eksempler på brugen af ​​nævnte kommando, såsom: Sådan slettes specifikke linjer fra en fil ... y Med terminal: Brug af regulære udtryk II: udskiftninger, så denne gang vil vi direkte se lidt mere avancerede og lige så praktiske eksempler, der bruger det.

Grundlæggende har kommandoen «sed» følgende syntaks:

sed comandos_sed archivo

hvor "Command_sed" svarer til en eller flere specifikationer for, hvad man skal gøre med de linjer, der læses fra "arkiv".

En mere omfattende brug giver os følgende syntaks:

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

Hvor:

SED-kommandoforbrugsformat

Praktiske eksempler

Liste filer / mapper i en sti

Nyttig kommandolinje, der kan bruges til at liste indholdet af en bestemt X-sti og derefter registrere / tælle / filtrere et søgt element og angive en efterfølgende handling, der skal udføres.

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

Eksempel:

Eksempel 1: SED-kommando - Shell Scripting

Denne anden variant ved hjælp af kommandoen "sed" er meget nyttig:

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

Eksempel 4: SED-kommando til Shell Scripting

Opret en nummerserie

Vis på skærmen eller gem i en fil en numerisk rækkefølge (eller enhver anden input), der er oprettet, men på en vandret (lineær) og ikke lodret måde, som senere kan læses til andre processer.

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

Eksempel 2: SED-kommando til Shell Scripting

Det samme eksempel kan gøres ved at kombinere kommandoen «tørst" med "Printf" som vist nedenfor:

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

Eksempel 3: SED-kommando til Shell Scripting

Slet filer med undtagelser

Sigt gennem en filsystemsti på udkig efter mønstre af filer, der skal ekskluderes, og derefter slettes resten af ​​indholdet. Meget nyttig til præcis og omhyggelig rengøring.

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

Eksempel 5: SED-kommando til Shell_Scripting

Opret en virtuel MAC-adresse

Dette trin kan være nyttigt til computersikkerheds- eller beskyttelsesopgaver, når du gennemsøger farlige websteder eller udfører hackingsopgaver.

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

Den samme effekt kan opnås ved at bruge kommandoen "sed" sammen med andre kommandoer, som vist nedenfor:

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

Eksempel:

Eksempel 7: SED-kommando til Shell Scripting

Skift terminalprompt midlertidigt

Dette kan hjælpe os med midlertidigt at indsætte parametre i vores prompt, der kan være nyttige for os, mens vi udfører en særlig aktivitet. I dette eksempel ændrer vi kun den måde, hvorpå prompten vises.

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

Eksempel 8. SED-kommando til Shell Scripting

Administrer output fra kommandoen "ps"

Meget praktisk kommandorækkefølge for at tillade formatering af output fra kommandoen «ps», det vil sige hvad der opnås fra Terminal Process Manager.

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

Eksempel:

Eksempel 9: SED-kommando til Shell Scripting

Dette kan anvendes til processer i henhold til procentdelen af ​​forbrugt hukommelse:

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

Jeg håber, at disse eksempler på kommandolinjen ved hjælp af kommandoen "sed" vil være meget nyttige. Og de tjener til at blive brugt direkte fra konsollen eller indirekte ved at indsætte dem i et script (automatiseret opgave).

I det næste indlæg på Shell Scripting vil vi udforske andre kommandoer.

Hvis du vil lære lidt mere om kommandoen "sed", besøg dette link "Vejledning og kort vejledning til Unix og Linux"Eller"Grundlæggende brug»Og hvis du vil lære mere om Shell Scripting i vores egen blog, kan du se på vores andre publikationer om emnet ved at klikke her: Scripting DesdeLinux.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.