The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Buscar y reemplazar NycUnxer UNIX for Dummies Preguntas y Respuestas 4 03-06-2008 12:20 AM
encontrar sustituir dbsurf Programación de scripts de shell y 2 01-25-2008 08:39 AM
buscar y reemplazar mahabunta UNIX for Dummies Preguntas y Respuestas 7 09-21-2006 01:05 PM
buscar y reemplazar vikas_j @ hotmail UNIX for Dummies Preguntas y Respuestas 3 02-25-2002 05:41 PM
Buscar y reemplazar gagansharma Programación de scripts de shell y 3 11-27-2001 04:17 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 05-27-2009
allrise123 allrise123 is offline
Usuario Registrado
  
 

Fecha: mayo 2009
Mensajes: 9
buscar y reemplazar problema

hola chicos!

Estoy escribiendo un guión en el que yo tome una entrada de usuario y la encuentran en un archivo y reemplazarlo.
Mi archivo de entrada se parece a

Código:
hi
what your name?
allrise

mira es mi código

Código:
echo "Enter the name"
read name
FILE="/opt/name.txt"
NEW_FILE="/opt/new_name.txt"
exec 0<$FILE
    while read line
    do
     if [ -n "`echo ${line} | grep 'allrise'`" ]
     then
              echo ${line} | sed 's|allrise|hello $name|g' >>$NEW_FILE
     else
             echo $line >>$NEW_FILE
     fi
     done <$FILE

Cuando ejecuto mi script, que me preguntan por el nombre supongo que dio "john" ... pero la salida es como se muestra a continuación

Código:
hi
what your name?
hello $name

así, nadie puede explicar cómo puedo obtener la salida correcta que debería ser.

Código:
hi
what your name?
hello john

  #2 (Enlace permanente)  
Old 05-27-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Fecha: marzo 2007
Ubicación: Toronto, Canadá
Puestos: 2.380
Cita:
Publicado originalmente por allrise123 View Post
hola chicos!

Estoy escribiendo un guión en el que yo tome una entrada de usuario y la encuentran en un archivo y reemplazarlo.
Mi archivo de entrada se parece a

Código:
hi
what your name?
allrise

mira es mi código

Código:
echo "Enter the name"
read name
FILE="/opt/name.txt"
NEW_FILE="/opt/new_name.txt"
exec 0<$FILE
    while read line
    do
     if [ -n "`echo ${line} | grep 'allrise'`" ]
     then
              echo ${line} | sed 's|allrise|hello $name|g' >>$NEW_FILE

Variables no se expanden dentro de comillas simples, utilizar comillas dobles:


Código:
echo ${line} | sed "s|allrise|hello $name|g" >>$NEW_FILE

Cita:

Código:
     else
             echo $line >>$NEW_FILE
     fi
     done <$FILE

Cuando ejecuto mi script, que me preguntan por el nombre supongo que dio "john" ... pero la salida es como se muestra a continuación

Código:
hi
what your name?
hello $name

así, nadie puede explicar cómo puedo obtener la salida correcta que debería ser.

Código:
hi
what your name?
hello john

¿Quién no lo hace:


Código:
sed "s/allrise/hello $name/" "$FILE" > "$NEWFILE"

No hay necesidad de un bucle.
  #3 (Enlace permanente)  
Old 05-27-2009
allrise123 allrise123 is offline
Usuario Registrado
  
 

Fecha: mayo 2009
Mensajes: 9
gracias por la respuesta ..

En realidad este no es mi archivo ... esto es sólo archivo ficticio que he creado sólo para pedir a mi pregunta ... de todos modos voy a probar tu sugerencia ..
  #4 (Enlace permanente)  
Old 06-06-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderador ala Modo
  
 

Fecha: febrero 2007
Lugar: Innsbruck, Austria
Mensajes: 1.893
Duplicado de buscar y reemplazar la consulta

(calcetín títere)
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 09:50 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0