كيف يمكنني كتابة برنامج نصي لشل لتوجيه بيانات 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
Backticcks هي شكل من أشكال استبدال الأوامر.نموذج آخر هو استخدام $() :
$(command)
وهو نفس:
`command`
لا تنتمي إلى StackOverflow