Comment puis-je écrire un script shell pour diriger les données grep dans un nom de fichier basé sur la date?

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

Question

Je veux fondamentalement faire ceci:

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

... avec bien sûr le nom de fichier étant exemple.com.2008-09-27-11: 21: 30.log

Je mettrais ensuite ceci dans crontab pour fonctionner quotidiennement.

Était-ce utile?

La solution

La méthode verbeuse:

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

La méthode laconique:

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

Autres conseils

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

Voici un autre moyen que j'utilise habituellement:

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

Les backticks sont une forme de substitution de commande. Une autre forme consiste à utiliser $ ():

$(command)

qui est identique à:

`command`
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top