Foros del Web » Administración de Sistemas » Unix / Linux »

Como insertar texto desde un bash script a un archivo

Estas en el tema de Como insertar texto desde un bash script a un archivo en el foro de Unix / Linux en Foros del Web. Tengo esa duda.. o sea.. se que podemos insertar cualquier texto usando por ejemplo: Código: echo "esta linea va para lo ultimo del archivo" >> ...
  #1 (permalink)  
Antiguo 09/11/2006, 19:10
Avatar de Sh4ka  
Fecha de Ingreso: marzo-2005
Mensajes: 205
Antigüedad: 19 años, 8 meses
Puntos: 0
Como insertar texto desde un bash script a un archivo

Tengo esa duda.. o sea.. se que podemos insertar cualquier texto usando por ejemplo:
Código:
echo "esta linea va para lo ultimo del archivo" >> archivo.txt
Eso es fácil, pero el tema es que quiero agregar una linea entre dos lineas existentes en el archivo. Por ejemplo
Código:
esta es una linea de ejemplo del archivo archivo.txt
esta es la otra linea del mismo archivo bla bla bla bla
Lo que yo quiero es insertar una linea exactamente entre ambas, o sea:
Código:
esta es una linea de ejemplo del archivo archivo.txt
aqui mismo ------------------------------------------
esta es la otra linea del mismo archivo bla bla bla bla
Alguien sabe como hacerlo ?

Gracias
  #2 (permalink)  
Antiguo 09/11/2006, 19:51
pablasso
Invitado
 
Mensajes: n/a
Puntos:
tu linea posterior o anterior a donde vas a insertar es identificable?

si es asi podrias hacerlo con sed teniendo:
Código:
linea1
linea2
haces un sed 's/linea2/linea1.5\nlinea2/' te daria:

Código:
linea1
linea1.5
linea2
por ahi va la idea, por supuesto puedes usar expresiones regulares
  #3 (permalink)  
Antiguo 09/11/2006, 20:07
Avatar de Sh4ka  
Fecha de Ingreso: marzo-2005
Mensajes: 205
Antigüedad: 19 años, 8 meses
Puntos: 0
Si, las lineas son identificables, un ejemplo:
Código:
         // query-source address * port 80; -------------- linea 1
este texto sera el que voy a introducir ; ----------- linea introducida
}; ----------- linea 2 
  #4 (permalink)  
Antiguo 09/11/2006, 20:20
Avatar de Sh4ka  
Fecha de Ingreso: marzo-2005
Mensajes: 205
Antigüedad: 19 años, 8 meses
Puntos: 0
Para ello estoy utilizando:

Código:
sed 's/         // query-source address * port 80;/function "hidden";\};/' archivo.conf
function "hidden"; ------- es la linea que quiero introducir.

Pero no funciona.. alguna otra idea??

Última edición por Sh4ka; 09/11/2006 a las 20:33
  #5 (permalink)  
Antiguo 09/11/2006, 21:06
pablasso
Invitado
 
Mensajes: n/a
Puntos:
asi de rapido y nada elegante: (seria mejor que usaras expresiones regulares para buscar la sentencia)

Código:
sed -i 's/ port 80;/ port 80;\nfunction "hidden";/' tuarchivo.conf
-i es para editar tu archivo
  #6 (permalink)  
Antiguo 10/11/2006, 20:25
Avatar de cnsey  
Fecha de Ingreso: octubre-2005
Mensajes: 63
Antigüedad: 19 años, 1 mes
Puntos: 0
ups yo tambien necesito ayuda sobre scripts pero les cuento mas adelante voy a intentarlo primero.....
__________________
Aprendiz linux, pero avanzando...

Última edición por cnsey; 10/11/2006 a las 20:40
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:16.