script bash: ¿como sustitutir cadena por variable?

Publicar nuevo tema   Responder al tema

Ver el tema anterior Ver el tema siguiente Ir abajo

script bash: ¿como sustitutir cadena por variable?

Mensaje  arcachofo el Mar 16 Jun 2009 - 22:21

Hola a todos..

Trato de hacer un script en bash que busque una cadena en un texto y la sustituya por el valor contenido en una variable.

Con "sed" puedo sustituir una cadena por otra cadena, pero... ¿como sustituir una cadena por una variable.


Saludos.

arcachofo
Participante Activo
Participante Activo

Cantidad de envíos: 90
Fecha de inscripción: 26/11/2008

Volver arriba Ir abajo

bash cadenas

Mensaje  aztk el Mar 16 Jun 2009 - 23:15

igual y este script te puede servir de ejemplo: http://code.google.com/p/mechalinux/downloads/list

Dentro del script, fijate en la linea:

Código:
PAQUETES=`gawk "$ETIQUETA1, $ETIQUETA2" $FILECONF | grep "\[INST\]" | tr -s '\[INST\]' ' '`


la orden tr -s '\[INST\]' ' ' sustituye la cadena [INST] por espacios en blanco, busca en internet por es función 'tr' que ya no me acuerdo para que era la opción -s

y para usar las variables en una función u orden u comando (como sea que le llames), recuerda que se les debe anteponer el signo $

Buena Vibra!

aztk
Participante
Participante

Cantidad de envíos: 17
Fecha de inscripción: 08/06/2009
Edad: 21
Localización: Tenochtitlan

Volver arriba Ir abajo

Re: script bash: ¿como sustitutir cadena por variable?

Mensaje  aztk el Mar 16 Jun 2009 - 23:22

oops!!!!!!!!!!

me equivoque, en el anterior mensaje tr no sustituye una cadena por otra, sino un conjunto de caracteres por otros.
Deja te mando un pdf de algunas funciones para editar texto



EDITO: no pss no puedo ver tu dirección de email, je. Pero ya encontré la liga de donde conseguí el pdf: http://frepond.blog.unq.edu.ar/modules/docmanager/index.php?curent_dir=8 es el que dice prog_shell7.pdf




Buena Vibra!

aztk
Participante
Participante

Cantidad de envíos: 17
Fecha de inscripción: 08/06/2009
Edad: 21
Localización: Tenochtitlan

Volver arriba Ir abajo

Re: script bash: ¿como sustitutir cadena por variable?

Mensaje  arcachofo el Jue 18 Jun 2009 - 0:14

Gracias por toda la información.

Al final era mucho más sencillo, se puede hacer con "sed", pero se vé que algo estaba haciendo mal porque no me funcionaba con una variable.

Para sustutuir el texto "cadena" por "$VARIABLE" en "archivo.txt" y el resultado en la variable "RESULTADO":

RESULTADO=$(sed s/cadena/$VARIABLE/g archivo.txt)




Buén día!!

arcachofo
Participante Activo
Participante Activo

Cantidad de envíos: 90
Fecha de inscripción: 26/11/2008

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permiso de este foro:
No puedes responder a temas en este foro.