Retroceder   Foros del Web > Temas generales de computación > Sistemas Operativos > BSD y Linux

Respuesta
 
Herramientas Desplegado
Antiguo 09-nov-2006, 18:10   #1 (permalink)
Sh4ka está en el buen camino
 
Avatar de Sh4ka
 
Fecha de Ingreso: marzo-2005
Mensajes: 207
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
Sh4ka está desconectado   Responder Citando
Antiguo 09-nov-2006, 18:51   #2 (permalink)
pablasso tiene algunos puntos positivos de karma
 
Avatar de pablasso
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guadalajara, México
Mensajes: 2.603
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
__________________
pablasso.com | ciberpc.com
pablasso está desconectado   Responder Citando
Antiguo 09-nov-2006, 19:07   #3 (permalink)
Sh4ka está en el buen camino
 
Avatar de Sh4ka
 
Fecha de Ingreso: marzo-2005
Mensajes: 207
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
Sh4ka está desconectado   Responder Citando
Antiguo 09-nov-2006, 19:20   #4 (permalink)
Sh4ka está en el buen camino
 
Avatar de Sh4ka
 
Fecha de Ingreso: marzo-2005
Mensajes: 207
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-nov-2006 a las 19:33.
Sh4ka está desconectado   Responder Citando
Antiguo 09-nov-2006, 20:06   #5 (permalink)
pablasso tiene algunos puntos positivos de karma
 
Avatar de pablasso
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guadalajara, México
Mensajes: 2.603
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
__________________
pablasso.com | ciberpc.com
pablasso está desconectado   Responder Citando
Antiguo 10-nov-2006, 19:25   #6 (permalink)
cnsey no se puede cailificar en este momento
 
Avatar de cnsey
 
Fecha de Ingreso: octubre-2005
Mensajes: 61
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-nov-2006 a las 19:40.
cnsey está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:32.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93