Come posso scrivere uno script shell per indirizzare i dati grep in un nome file basato sulla data?
Domanda
Fondamentalmente voglio fare questo:
grep 'example.com' www_log > example.com.YYYY-MM-DD-H:i:S.log
... con ovviamente il nome del file esempio.com.2008-09-27-11:21:30.log
Lo metterei quindi in crontab per l'esecuzione quotidiana.
Soluzione
Il metodo dettagliato:
grep 'example.com' www_log > `date +example.com.%Y-%m-%d-%H:%M:%S.log`
Il metodo terse:
grep 'example.com' www_log > `date +example.com.%F-%T.log`
Altri suggerimenti
grep 'example.com' www_log > example.com.$(date +%F-%T).log
Ecco un altro modo, che di solito uso:
grep 'example.com' www_log > example.com.`date +%F-%T`.log
I backtick sono una forma di sostituzione dei comandi. Un altro modulo è utilizzare $ ():
$(command)
che è lo stesso di:
`command`
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow