Sed: apprendimento dello scripting della shell utilizzando il comando Sed Terminal

Sed: apprendimento dello scripting della shell utilizzando il comando Sed Terminal

Sed: apprendimento dello scripting della shell utilizzando il comando Sed Terminal

Il comando "sed" nei sistemi operativi liberi di tipo GNU / Linux è un comando molto versatile, poiché a sua volta È considerato un editor di testo orientato al "flusso" invece che "interattivo" come quelli tipici, poiché accetta un file o uno standard input come input, quindi elabora ogni riga e il risultato viene inviato allo standard output. Vale a dire, SED (Stream EDitor) ci permette di modificare il contenuto delle diverse righe di un file sulla base di una serie di comandi o di un file di comando.

Generalmente, il comando «sed» viene utilizzato come filtro, poiché legge ogni riga dell'inserimento dei dati e quindi esegue le azioni richieste che di solito vengono lette, estratte, modificate e visualizzate o salvate. Sebbene il suo potere sia tale inoltre ci permette in modo comodo, eliminare righe, registrare o sostituire stringhe di caratteri all'interno delle righe di un file.

Introduzione al comando "sed"

Già in altre precedenti pubblicazioni in DesdeLinux abbiamo parlato e mostrato esempi sull'uso di tale comando, come ad esempio: Come eliminare righe specifiche da un file ... y Con terminale: utilizzo di espressioni regolari II: sostituzioni, quindi questa volta vedremo direttamente esempi un po 'più avanzati e altrettanto pratici che lo usano.

Fondamentalmente il comando «sed» ha la seguente sintassi:

sed comandos_sed archivo

dove "Command_sed" corrisponde a una o più specifiche su cosa fare con le righe da cui vengono lette "archivio".

Un uso più ampio ci lascia con la seguente sintassi:

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

Dove:

Formato di utilizzo del comando SED

Esempi pratici

Elenca file / cartelle in un percorso

Utile riga di comando che può essere utilizzata per elencare il contenuto di un percorso X specificato e quindi rilevare / contare / filtrare un elemento cercato e indicare un'azione successiva da eseguire.

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

Esempio:

Esempio 1: comando SED - Shell Scripting

Quest'altra variante che utilizza il comando "sed" è molto utile:

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

Esempio 4: comando SED per Shell Scripting

Crea una sequenza numerica

Mostra a schermo o salva in un file una sequenza numerica (o qualsiasi altro input) creata ma in forma orizzontale (lineare) e non verticale che può essere letta successivamente per altri processi.

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

Esempio 2: comando SED per Shell Scripting

Lo stesso esempio può essere fatto combinando il comando «sete" con "Printf" come mostrato di seguito:

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

Esempio 3: comando SED per Shell Scripting

Elimina file con esclusioni

Setacciare un percorso del file system alla ricerca di modelli di file da escludere e quindi eliminare il resto del contenuto. Molto utile per una pulizia precisa e attenta.

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

Esempio 5: comando SED per Shell_Scripting

Crea un indirizzo MAC virtuale

Questo passaggio può essere utile per la sicurezza del computer o attività di protezione durante la navigazione in siti pericolosi o l'esecuzione di attività di hacking.

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

Lo stesso effetto può essere ottenuto utilizzando il comando "sed" insieme ad altri comandi, come mostrato di seguito:

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

Esempio:

Esempio 7: comando SED per Shell Scripting

Modificare temporaneamente il prompt del terminale

Questo può aiutarci a inserire temporaneamente dei parametri nel nostro prompt che possono esserci utili mentre svolgiamo un'attività speciale. In questo esempio cambieremo solo il modo in cui viene visualizzato il prompt.

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

Esempio 8. Comando SED per Shell Scripting

Gestisci l'output del comando "ps"

Ordine dei comandi molto pratico per permettere la formattazione dell'output del comando «ps», cioè quello che si ottiene dal Terminal Process Manager.

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

Esempio:

Esempio 9: comando SED per Shell Scripting

Questo può essere applicato ai processi in base alla percentuale di memoria consumata:

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

Questi esempi di righe di comando che utilizzano il comando "sed" spero che lo trovi molto utile. E servono per essere utilizzati direttamente dalla console o indirettamente inserendoli in uno script (task automatizzato).

Nel prossimo post su Shell Scripting esploreremo altri comandi.

Se vuoi saperne di più sul comando "sed" visita questo link "Tutorial e breve guida per Unix e Linux"O"Utilizzo di base»E se vuoi saperne di più su Shell Scripting nel nostro blog, puoi dare un'occhiata alle altre nostre pubblicazioni sull'argomento, cliccando qui: Scrittura DesdeLinux.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.