Sigueu: Aprenent Shell Scripting utilitzant la comanda de terminal set

Sigueu: Aprenent Shell Scripting utilitzant la comanda de terminal set

Sigueu: Aprenent Shell Scripting utilitzant la comanda de terminal set

La comanda "set" en els Sistemes Operatius Lliures de el tipus GNU / Linux és una ordre molt versàtil, ja que al seu torn és considerat un editor de text orientat a «flux» en lloc de «interactiu» com els típics, Ja que accepta com a entrada un arxiu o l'entrada estàndard, després processa cada línia i el resultat és enviat a la sortida estàndard. És a dir, SED (Stream Editor) ens permet modificar el contingut de les diferents línies d'un fitxer d'acord amb una sèrie de comandaments o un fitxer d'ordres.

En general, la comanda «set» és utilitzat com un filtre, Ja que llegeix cada línia de la seva entrada de dades i llavors realitza les accions sol·licitades que solen ser llegir, extreure, modificar i mostrar o guardar. Encara que el seu poder és tal que addicionalment ens permet d'una manera còmoda, esborrar línies, registres o substituir cadenes de caràcters dins de les línies d'un arxiu.

Introducció a la comanda "set"

Ya en otras publicaciones anteriores en DesdeLinux hemos hablado y mostrados ejemplos sobre el uso de dicho comando, Com ara: Com esborrar línies específiques d'un arxiu ... y Amb el Terminal: Ús d'expressions regulars II: Reemplaçaments, De manera que en aquesta oportunitat veurem directament exemples una mica més avançats i igual de pràctics usant el mateix.

Bàsicament la comanda «set» té la següent sintaxi:

sed comandos_sed archivo

on «Comandos_sed» correspon a un o més especificacions sobre què fer amb les línies que es llegeixen des de «Arxiu».

Un ús més extens ens deixa amb la sintaxi següent:

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

on:

Format d'Ús de Comando SED

exemples Pràctics

Llistar Arxius / Carpetes d'una ruta

Útil línia de comandament que ens pot servir per llistar el contingut d'una ruta X indicada per després detectar / comptar / filtrar un ítem buscat i indicar una acció posterior a realitzar.

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

Exemple:

Exemple 1: Comando SED - Shell Scripting

Aquesta altra variant utilitzant la comanda «set» és molt útil:

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

Exemple 4: Comando SED per Shell Scripting

Crear una seqüència numèrica

Mostra per pantalla o gravar en un arxiu una seqüència numèrica (o qualsevol altra entrada) creada però en forma horitzontal (lineal) i no vertical que després pot ser llegida per altres processos.

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

Exemple 2: Comando SED per Shell Scripting

El mateix exemple puc realitzar combinant la comanda «set » amb «Printf» tal com es mostra a continuació:

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

Exemple 3: Comando SED per Shell Scripting

Esborrar arxius amb exclusions

Escodrinyar una ruta de el Sistema de Fitxers buscant patrons d'arxius que excloure per després esborrar la resta de l'contingut. Molt útil per a realitzar neteges precises i acurades.

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

Exemple 5: Comando SED per Shell_Scripting

Crear una Direcció MAC virtual

Aquest pas pot ser útil per a tasques de protecció o seguretat informàtica a l'navegar per llocs perillosos o fer tasques de hacking.

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

El mateix efecte es pot aconseguir utilitzant la comanda «set» al costat d'altres ordres, tal com es mostra a continuació:

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

Exemple:

Exemple 7: Comando SED per Shell Scripting

Canviar temporalment el Prompt de l'Terminal

Això ens pot servir per aconseguir inserir temporalment paràmetres en el nostre prompt que ens puguin ser útils mentre realitzem una activitat especial. En aquest exemple només canviarem la forma en què es mostra l'indicador.

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

Exemple 8. Comando SED per Shell Scripting

Gestionar la sortida de l'Comando «ps»

Ordre de comandament molt pràctica per permetre el format a gust de la sortida de la comanda «ps» és a dir, el obtingut de l'Administrador de Processos de l'Terminal.

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

Exemple:

Exemple 9: Comando SED per Shell Scripting

Això pot aplicar-se per als processos segons el percentatge de memòria consumit:

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

Aquests exemples de línies de comandament fent servir la comanda «set» espero els sigui de gran utilitat. I els serveixin per a ser utilitzades directament des de consola o indirectament mitjançant la seva inserció en algun script (tasca automatitzada).

En la següent publicació sobre Shell Scripting explorarem altres ordres.

Si vols aprendre una mica més sobre la comanda "set" visita aquest enllaç "Tutorial i Guia Breu per a Unix i Linux"O"ús bàsic»I si desitges aprendre més sobre Shell Scripting en el nostre propi Blog, Pots donar-li un cop d'ull a les nostres altres publicacions sobre el tema, fent clic aquí: Scripting a DesdeLinux.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.