Linux/Unix Shell Scripting - grep

 
Vista:
sin imagen de perfil

grep

Publicado por Marcela (6 intervenciones) el 25/09/2006 21:42:50
Hola todos saludos =)
y un saludo especial a nostrodomo por todo lo que me a ayudado =)

Bueno ahora tengo un pequeño problemita, estoy haciendo un escript que busque una cadena de texto en un archivo de texto, y esta linea a si vez tiene que sea reemplazada por otra,

En caso concreto es el erchivo /boot/grub/menu.lst

que tiene una estructura asi:
title Ubuntu, kernel 2.6.15-23-386
root (hd0,0)
kernel /boot/vmlinuz-2.6.15-23-386 root=/dev/hda1 ro quiet splash
initrd /boot/initrd.img-2.6.15-23-386
savedefault
boot

lo que tengo que cambiar es el texto splash por splash vga=791.
ya busque informacion y con el comando grep se puede hacer y de hecho "si lo hace" y lo "reemplaza".

La salida del comando es todo el contenido del archivo de texto y el cambio, que de hecho es como deberia de estar

pero solo es en tiempo de ejecucion creo, por que despues de que termina el comando el archivo vuelve a quedar como estaba.

mi linea de codigo es esta:

sed 's/splash/splash vga=791/g' menu.lst

¿Como le puede hacer para que de verdad el comando cambie el contenido de mi arhivo, y no solo de manera temporal??

¿Por que solo cambia el contenido del archivo temporalmente y no para siempre??

1000 gracias por su ayuda y comentarios!! besos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:grep

Publicado por Tom (4 intervenciones) el 26/09/2006 16:25:44
No cambia para siempre porque no es la forma de trabajar de casi ningún comando unix.

Se usa así:

cp menu.lst menu.ok

sed 's/splash/splash vga=791/g' menu.ok >menu.lst
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar