Programación Web y Scripting > Perl
Re: Fich. Unix con Perl
cedosd:
Buenos días, yo tengo un fichero en Unix y necesito encontrar una línea de ese fichero con un determinado texto, posicionarme una línea más abajo y a partir de ahí, escribir varias líneas. ¿Se puede hacer esto en Perl?. La verdad es que estoy bloqueado y agradeceria cualquier ayuda.
Gracias!!
Avalon:
Hola,
Podrías hacer algo como esto:
--- Código: Text --- # abres el ficheroopen(INPUT, "fichero.txt"); # guardas todo el contenido del fichero en una variable@contenido = <INPUT>; # cierras el ficheroclose(INPUT); # recorres los datos del ficheroforeach $linea (@contenido) { chop($linea); # se busca la línea que contiene el texto que nos interesa if ($linea =~ /b$texto/i) { push(@nuevosdatos, $linea . "n"); # Si se ha encontrado el texto, aquí añadirías las líneas que quieres insertar push(@nuevosdatos, "Nueva linea 1n"); push(@nuevosdatos, "Nueva linea 2n"); push(@nuevosdatos, "Nueva linea 3n"); } else { # se deja la línea como estaba push(@nuevosdatos, $linea . "n"); }} # Ahora vuelcas los nuevos datos en el fichero, borrando los datos que contenía anteriormente open(OUTPUT, "+< fichero.txt"); foreach $linea (@nuevosdatos) { print OUTPUT $linea;} close(OUTPUT);
Espero que te sirva.
Salu2,
Avalon
cedosd:
Gracias, Avalon!!
El Lunes 23 te comento como ha ido el temilla.
cedosd:
Gracias Avalon, funciona perfectamente......¡Tu si que sabes!!.
Avalon:
No hay de que B)
Salu2,
Avalon
Navegación
[#] Página Siguiente
Ir a la versión completa