كيف يمكنني كتابة برنامج نصي لشل لتوجيه بيانات grep إلى اسم ملف يعتمد على التاريخ؟

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

سؤال

أريد في الأساس أن أفعل هذا:

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`
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top