Sed: Lære Shell Scripting ved hjelp av Sed Terminal Command

Sed: Lære Shell Scripting ved hjelp av Sed Terminal Command

Sed: Lære Shell Scripting ved hjelp av Sed Terminal Command

Kommandoen "sed" i gratis operativsystemer av GNU / Linux-typen er det en veldig allsidig kommando, siden i sin tur Det regnes som en tekstredigerer som er orientert om å "flyte" i stedet for "interaktiv" som den typiske, siden den aksepterer en fil eller standardinngang som inndata, behandler hver linje og resultatet blir sendt til standardutdata. Det er å si, SED (Stream EDitor) lar oss endre innholdet på de forskjellige linjene i en fil basert på en rekke kommandoer eller en kommandofil.

Generelt brukes kommandoen «sed» som filter, siden den leser hver linje i dataoppføringen din og deretter utfører de forespurte handlingene som vanligvis blir lest, hentet ut, modifisert og vist eller lagret. Selv om dens kraft er slik at i tillegg lar det oss på en behagelig måte slette linjer, poster eller erstatte tegnstrenger innenfor linjene i en fil.

Introduksjon til “sed” -kommandoen

Ya en otras publicaciones anteriores en DesdeLinux hemos hablado y mostrados ejemplos sobre el uso de dicho comando, for eksempel: Slik sletter du spesifikke linjer fra en fil ... y Med terminal: bruk av regulære uttrykk II: erstatninger, så denne gangen vil vi se litt mer avanserte og like praktiske eksempler direkte på den.

I utgangspunktet har kommandoen «sed» følgende syntaks:

sed comandos_sed archivo

Hvor "Command_sed" tilsvarer en eller flere spesifikasjoner om hva du skal gjøre med linjene som leses fra "arkiv".

En mer omfattende bruk gir oss følgende syntaks:

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

Hvor:

SED-kommandobrukformat

Praktiske eksempler

Liste filer / mapper i en bane

Nyttig kommandolinje som kan brukes til å liste innholdet i en spesifisert X-bane og deretter oppdage / telle / filtrere et søkt element og indikere en påfølgende handling som skal utføres.

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

Eksempel:

Eksempel1: SED-kommando - Shell Scripting

Denne andre varianten ved hjelp av "sed" -kommandoen er veldig nyttig:

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

Eksempel 4: SED-kommando for Shell Scripting

Lag en tallrekke

Vis på skjermen eller lagre i en fil en numerisk sekvens (eller annen inngang) opprettet, men på en horisontal (lineær) og ikke vertikal måte som senere kan leses for andre prosesser.

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

Eksempel 2: SED-kommando for Shell Scripting

Det samme eksemplet kan gjøres ved å kombinere kommandoen «tørst" med "Printf" som vist under:

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

Eksempel 3: SED-kommando for Shell Scripting

Slett filer med unntak

Gransking av en filsystembane på jakt etter mønstre av filer som skal ekskluderes, og deretter slettes resten av innholdet. Veldig nyttig for presis og forsiktig rengjøring.

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

Eksempel 5: SED-kommando for Shell_Scripting

Opprett en virtuell MAC-adresse

Dette trinnet kan være nyttig for datasikkerhets- eller beskyttelsesoppgaver når du surfer på farlige nettsteder eller utfører hackingsoppgaver.

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

Den samme effekten kan oppnås ved å bruke kommandoen "sed" i forbindelse 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 for Shell Scripting

Endre terminalprompt midlertidig

Dette kan hjelpe oss med midlertidig å sette inn parametere i ledeteksten som kan være nyttige for oss mens vi utfører en spesiell aktivitet. I dette eksemplet vil vi bare endre måten ledeteksten vises på.

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

Eksempel 8. SED-kommando for Shell Scripting

Administrer utdataene fra "ps" -kommandoen

Veldig praktisk kommandorekkefølge for å tillate formatering av utdata fra «ps» -kommandoen, det vil si det som er hentet 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 for Shell Scripting

Dette kan brukes for prosesser i henhold til prosentandelen av minnet som forbrukes:

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

Jeg håper disse eksemplene på kommandolinjen ved å bruke kommandoen "sed" vil være veldig nyttige. Og de brukes til å brukes direkte fra konsollen eller indirekte ved å sette dem inn i et skript (automatisert oppgave).

I neste innlegg på Shell Scripting vil vi utforske andre kommandoer.

Hvis du vil lære litt mer om kommandoen "sed" besøk denne lenken "Veiledning og kort guide for Unix og Linux"Eller"Grunnleggende bruk»Og hvis du vil lære mer om Shell Scripting i vår egen blogg, kan du se på de andre publikasjonene våre om emnet, ved å klikke her: Skripting DesdeLinux.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.