Tengo un trazador de líneas Perl que supuestamente exporta cada línea individual en un archivo xml a su propio archivo separado con el nombre del archivo original y luego el número de línea dentro de ese archivo del que proviene.
Por ejemplo, si el archivo xml se llama "foo.xml" y tiene 100 líneas, quiero tener cientos de archivos llamados "foo_1.xml", "foo_2.xml", "foo_3". xml ", etc.
Pensé que el nombre del archivo que paso al delineador estaría disponible a través de ARGV, pero no es así. Me estoy poniendo un "valor no inicializado en $ argv [0]" error al ejecutar esto:
perl -nwe 'open (my $FH, ">", "$ARGV[0]_$.\.xml"); print $FH $_;close $FH;' foo.xml
Lo estoy pasando por alto?
-1 confirmado que no funciona: 'perl -nwe 'print $ ARGV' foo.xml ' – sehe
@sehe: Funciona para mí si existe 'foo.xml' y no está vacío. – yibe
Funciona para mí. ¡Obtuve un directorio lleno de archivos con líneas individuales! Tendré más cuidado en el futuro ... –