Unix - secuencia de escape en AIX

 
Vista:

secuencia de escape en AIX

Publicado por Jose (3 intervenciones) el 03/04/2006 08:52:03
Buenos días a todo el mundo,

En primer lugar quiero agradeceros vuestro tiempo y las molestias que os tomáis en leer y contestar .Toda sugerencia , por pequeña que sea , os la agradezco de veras . Vamos con el problema:

Acabo de pasar de una máquina Sun a una maquina AIX y dentro de una tarea que tengo encomendada hay que automatizar la edicion de un fichero estándar y en él hacer unas ciertas sustituciones . El codigo genérico del shell script en Sun sería así:

vi fichero.txt << EOF
i
Esta es la linea 1
^]
:1,$ s/$viejo/$NUEVO/g
:wq
ZZ
EOF

La cuestion es que no consigo que funcione , aunque si que edita el fichero , por lo que supongo que el problema está en las secuencias de escape . Aunque quizá no esté en lo cierto ¿Álguien me puede ilustrar , por favor?

Muchas gracias , recibid un cordial saludo.

Jose
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:secuencia de escape en AIX

Publicado por n0str0m0 (262 intervenciones) el 04/04/2006 08:09:44
No estoy seguro de que se deba hacer algo así. vi es un editor interactivo. Por lo que veo, sólo quieres sustituir en el fichero viejo por nuevo. ¿Por qué no utilizas sed que se supone que está para eso? es decir, le pasas el fichero, los cambios a realizar y lo hace sin más. Luego, si quisieras observar los cambios podrías hacer un cat o algo similar.

Salu2
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

RE:secuencia de escape en AIX

Publicado por Jose (3 intervenciones) el 04/04/2006 10:22:08
Hola ,
Bueno , en realidad no solo quiero hacer esa sustitucion . El problema es que quiero escribir y además quiero utilizar el modo comando . En mi antigua máquina Sun 5.8 hice un script en el que mediante el here document podía pasar de modo edicion a modo comando , ya que la secuencia de escape se podia conseguir con "^]" y asi se podia escribir:

vi pepe.txt << EOF
i
Hola Pepe
^[
ZZ
EOF

Así empiezas en modo comando , con la i insertas , metes la cadena "hola Pepe" y luego das un escape( ^]) ,con lo que vuelves a modo comando y puedes salir . Es una idea bastante interesante , ya que en su momento me permitió automatizar la migracion de unas ciertas tablas y pude generar automáticamente unas 5000 lineas de codigo .Si te interesa echarle un vistazo , puedes hacerlo en:

www.tldp.org/LDP/abs/html/here-docs.html
en concreto , el ejemplo 17-2 contiene el codigo del que parti para la mencionada migración.

Por otro lado , te agradezco enormemente tu sugerencia de sed para parsear el texto . La potencia de UNIX hace que la solucion a cada problema no sea unica , y voy a intentarlo por ahí . No se me había ocurrido.

Muchas gracias , recibe un cordial saludo

Jose
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

RE:secuencia de escape en AIX

Publicado por SuperIndio (16 intervenciones) el 11/05/2006 15:08:05
Mira hace un par de años que quieria hacer algo asi y al final no pude hacerlo y para ello
lo que hice fue utilizar el comando tr no te convien haer eso mas facil ????
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