Sé que este tipo de preguntas ya se han hecho muchas veces antes. La razón por la que vuelvo aquí es porque siento que me he perdido algo simple y fundamental.Búsqueda de múltiples líneas reemplazar con Perl
¿Es posible mejorar este tipo de rutina de búsqueda y reemplazo? Por ejemplo, sin abrir el mismo archivo dos veces. También consejos relacionados con la velocidad son bienvenidos.
Tenga en cuenta que esto funciona con coincidencias de líneas múltiples y reemplaza también cadenas de líneas múltiples.
#!/bin/perl -w -0777
local $/ = undef;
open INFILE, $full_file_path or die "Could not open file. $!";
$string = <INFILE>;
close INFILE;
$string =~ s/START.*STOP/$replace_string/sm;
open OUTFILE, ">", $full_file_path or die "Could not open file. $!";
print OUTFILE ($string);
close OUTFILE;
Parece que está intentando editar el archivo en su lugar. Es decir, ábralo tanto para leer como para escribir. ¿Es eso correcto? –
Sí, editando el archivo en su lugar. Ese es el caso de uso más común para mí. – user44556