Как я могу написать сценарий оболочки для направления данных grep в имя файла на основе даты?
Вопрос
Я в основном хочу сделать это:
grep 'example.com' www_log > example.com.YYYY-MM-DD-H:i:S.log
... конечно, имя файла example.com.2008-09-27-11:21:30.log
Затем я бы поместил это в crontab, чтобы запускать ежедневно.
Решение
Подробный метод:
grep 'example.com' www_log > `date +example.com.%Y-%m-%d-%H:%M:%S.log`
Краткий метод:
grep 'example.com' www_log > `date +example.com.%F-%T.log`
Другие советы
grep 'example.com' www_log > example.com.$(date +%F-%T).log
Вот еще один способ, который я обычно использую:
grep 'example.com' www_log > example.com.`date +%F-%T`.log
Обратные кавычки — это форма замены команд.Другая форма — использование $():
$(command)
что то же самое, что:
`command`
Не связан с StackOverflow