Estoy ejecutando un programa Perl. Lo que se imprime en mi consola, quiero redireccionar a un archivo de texto.Cómo redirigir la salida de la consola a un archivo de texto
Respuesta
El método preferido para esto es manejar la redirección a través de la línea de comando, p.
perl -w my_program.pl > my_output.txt
Si desea incluir también la salida stderr entonces usted puede hacer esto (suponiendo que su cáscara se bash):
perl -w my_program.pl &> my_output.txt
ya lo intenté pero no funcionaba. he usado STDERR en mi archivo ..... – Cindrella
OK - vea la edición anterior - también tómese un tiempo para aprender los principios básicos de la línea de comandos para Linux, etc. –
Gracias ....en el archivo que he utilizado, abre STDERR, '> output.txt'; cerrar STDERR; funciona ... – Cindrella
En la CLI puede utilizar >
, así:
perl <args> script_name.pl > path_to_your_file
Si desea hacer esto dentro de la secuencia de comandos perl, agregue este código antes de imprimir cualquier cosa:
open(FH, '>', 'path_to_your_file') or die "cannot open file";
select FH;
# ...
# ... everything you print should be redirected to your file
# ...
close FH; # in the end
ya estoy cansado de esto ... no funciona He usado print STDERR en mi archivo. .... – Cindrella
bueno, si tiene impresiones explícitas en diferentes manejadores de archivos, entonces debe seguir el modo CLI como lo recomienda Paul R y esta pregunta probablemente debería etiquetarse como 'bash' o similar porque tiene poco que ver con Perl mismo – ArtM
En Unix, para capturar todo lo que llega a su terminal, desea redirigir tanto la salida estándar como el error estándar.
Con bash, el comando se asemeja
$ ./my-perl-program arg1 arg2 argn > output.txt 2>&1
El shell C, csh
derivados tales como tcsh
, y nuevas versiones de golpe entienden
$ ./my-perl-program arg1 arg2 argn >& output.txt
para significar la misma cosa.
La sintaxis para el shell de comandos en Windows es similar a la del shell de Bourne.
C:\> my-perl-program.pl args 1> output.txt 2>&1
Para configurar esta redirección en el código Perl, añadir
open STDOUT, ">", "output.txt" or die "$0: open: $!";
open STDERR, ">&STDOUT" or die "$0: dup: $!";
al comienzo de su programa de instrucciones ejecutables ’ s.
Si desea que su salida se imprime en la consola, así como los registros a continuación, añada esta línea a su código (por ejemplo, antes de que las declaraciones de impresión)
open (STDOUT, "| tee -ai logs.txt");
print "It Works!";
Después de la última impresión en el script
close (STDOUT);
Por sólo mensajes de error,
open (STDERR, "| tee -ai errorlogs.txt");
- 1. Redirigir la salida de la consola a winforms ListBox
- 2. Redirigir la salida de registro de la consola Tomcat 7 a un archivo (Windows)
- 3. Redirigir la salida de seguimiento a la consola
- 4. ¿Puedo redirigir la salida de Unicode de la consola directamente a un archivo?
- 5. ¿Cómo redirigir la salida de DBMS_OUTPUT.PUT_LINE a un archivo?
- 6. ¿Cómo redirigir la salida de Valgrind a un archivo?
- 7. PowerShell: envíe la salida de la consola al archivo sin ensordecer esta salida de la consola
- 8. ¿Cómo redirigir la salida del compilador gcc a un archivo?
- 9. ¿Cómo redirigir la salida del sistema() a un archivo?
- 10. intérprete interactivo Scala (REPL): ¿cómo redirigir la salida a un archivo de texto?
- 11. Exportar eclipse consola ver salida en archivo de texto
- 12. rieles - Reorientación de salida de la consola a un archivo
- 13. Redirigir la salida de django manage.py (en Windows) a un archivo de texto
- 14. ¿Cómo escribir la salida de la consola en un archivo de texto en cpp?
- 15. Redirigir la salida del shell erlang a un archivo
- 16. Redirigir la salida de grep al archivo
- 17. Cómo redirigir (Rack) la salida del servidor delgado a la consola?
- 18. ¿Es posible redirigir la salida de la consola a un archivo de registro en IntelliJ como Eclipse?
- 19. whiptail: ¿Cómo redirigir la salida a la variable de entorno?
- 20. ¿Cómo canalizo la salida de la consola Java a un archivo?
- 21. ¿Cómo puedo redirigir la salida de la función a un archivo en Perl?
- 22. Registro de Java: ¿cómo redirigir la salida a un archivo de registro personalizado para un registrador?
- 23. ¿Puedo redirigir la salida de un programa a gvim?
- 24. vbscript salida a la consola
- 25. ¿Cómo registrar la salida de maven a un archivo y sin ocultar la consola?
- 26. ¿Cómo redirigir la salida de impresión de vuelta al código?
- 27. ¿cómo redirijo la salida de nosetests a un archivo de texto?
- 28. ¿Cómo redirigir la salida de recolección de basura detallado a un archivo?
- 29. Salida de la consola Java - Archivo Y a la consola AMBOS
- 30. Cómo redirigir la salida a un archivo cuyo nombre es la fecha y hora actual?
¿Por qué no hacerlo desde la línea de comandos: 'perl -w my_program.pl> output.txt'? –
@PaulR No puedo +1 suficiente. Publique eso como una respuesta: es la forma correcta de hacerlo. – Polynomial
http://stackoverflow.com/questions/387702/how-can-i-hook-into-perls-print –