Wie kann ich einen Shell-Skript zum direkten grep Daten in ein Datum-basierten Dateinamen schreiben?
Frage
ich das im Grunde tun möchte:
grep 'example.com' www_log > example.com.YYYY-MM-DD-H:i:S.log
... mit natürlich der Dateinamen ist example.com.2008-09-27-11: 21: 30.log
Ich würde dann in crontab setzen diese täglich zu laufen.
Lösung
Die ausführliche Methode:
grep 'example.com' www_log > `date +example.com.%Y-%m-%d-%H:%M:%S.log`
Die lapidare Methode:
grep 'example.com' www_log > `date +example.com.%F-%T.log`
Andere Tipps
grep 'example.com' www_log > example.com.$(date +%F-%T).log
Hier ist eine andere Art und Weise, dass ich in der Regel verwenden:
grep 'example.com' www_log > example.com.`date +%F-%T`.log
Backticks sind eine Form von Kommandosubstitution. Eine andere Form ist $ () zu verwenden:
$(command)
das ist das gleiche wie:
`command`
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow