es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Traductor de español para documentos de TI. Traduzca lo siguiente al español. Incluya la fecha en el nombre del archivo para cshell. Fecha: YYYY-MM-DD

Estoy teniendo problemas con el nombre del archivo de registro después de ejecutar un programa cpp y redirigir el cout y cerr a diferentes archivos de registro. Quiero obtener la fecha actual y nombrar los registros de acuerdo con el siguiente formato:

ninguno
fecha_cout.log
fecha_cerr.log

Script de Cshell utilizado:

(./test > $(date +"%y%m%d")_cout.log > 2> $(date +"%y%m%d")_cerr.log

¿Puede darme una pista?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que puede haber un par de problemas con el script csh que proporcionaste. Primero, el símbolo ‘>’ debería utilizarse para redirigir la salida, no ‘>’. Además, el símbolo ‘&’ debería utilizarse para ejecutar el comando en segundo plano, no ‘&’.

    Con eso en mente, aquí hay una versión modificada del script que debería lograr tu objetivo:

    set currentDate = `date +'%y%m%d'`
    (./test > ${currentDate}_cout.log >& ${currentDate}_cerr.log) &
    

    Este script utiliza el comando ‘date’ para obtener la fecha actual y almacenarla en una variable llamada ‘currentDate’. Luego, ejecuta tu programa ‘test’, redirigiendo la salida stdout y stderr a dos archivos de registro con nombres en el formato deseado utilizando la notación de llaves (por ejemplo, ${currentDate}_cout.log). Finalmente, ejecuta el comando completo en segundo plano utilizando el símbolo ‘&’.

    ¡Espero que esto ayude!

Comments are closed.