Come posso scrivere uno script shell per indirizzare i dati grep in un nome file basato sulla data?

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

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.

È stato utile?

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
scroll top