¿Cómo puedo escribir un script de shell para dirigir datos grep a un nombre de archivo basado en fecha?

StackOverflow https://stackoverflow.com/questions/145552

Pregunta

Básicamente quiero hacer esto:

grep 'example.com' www_log > example.com.YYYY-MM-DD-H:i:S.log

... con, por supuesto, el nombre de archivo es ejemplo.com.2008-09-27-11:21:30.log

Luego pondría esto en crontab para que se ejecute a diario.

¿Fue útil?

Solución

El método detallado:

grep 'example.com' www_log > `date +example.com.%Y-%m-%d-%H:%M:%S.log`

El método conciso:

grep 'example.com' www_log > `date +example.com.%F-%T.log`

Otros consejos

grep 'example.com' www_log > example.com.$(date +%F-%T).log

Aquí hay otra forma, que generalmente uso:

grep 'example.com' www_log > example.com.`date +%F-%T`.log

Los backticks son una forma de sustitución de comandos. Otra forma es usar $ ():

$(command)

que es lo mismo que:

`command`
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top