ओएस एक्स पर, मुझे YYYY-MM-DD HH:MMफ़ाइल के लिए आउटपुट में प्रारूप में होने की मेरी तारीख पसंद है ।
इसलिए एक फ़ाइल निर्दिष्ट करने के लिए मैं उपयोग करूंगा:
stat -f "%Sm" -t "%Y-%m-%d %H:%M" [filename]
यदि मैं इसे फ़ाइलों की श्रेणी में चलाना चाहता हूं, तो मैं कुछ इस तरह कर सकता हूं:
#!/usr/bin/env bash
for i in /var/log/*.out; do
stat -f "%Sm" -t "%Y-%m-%d %H:%M" "$i"
done
पिछली बार जब मैं sudo periodic daily weekly monthlyलॉग फ़ाइलों का संदर्भ देता हूं, तो यह उदाहरण प्रिंट करेगा ।
प्रत्येक तिथि के तहत फ़ाइल नाम जोड़ने के लिए, मैं इसके बजाय निम्नलिखित चलाऊंगा:
#!/usr/bin/env bash
for i in /var/log/*.out; do
stat -f "%Sm" -t "%Y-%m-%d %H:%M" "$i"
echo "$i"
done
आउटपुट निम्नलिखित था:
2016-40-01 16:40
/var/log/daily.out
2016-40-01 16:40
/var/log/monthly.out
2016-40-01 16:40
/var/log/weekly.out
दुर्भाग्य से मुझे यकीन नहीं है कि लाइन ब्रेक को कैसे रोका जाए और स्क्रिप्ट में अधिक लाइनों को जोड़े बिना फ़ाइल नाम को तारीख के अंत तक जोड़ा जाए।
पीएस - मैं #!/usr/bin/env bashदिन के अनुसार एक पायथन उपयोगकर्ता के रूप में उपयोग करता हूं, और bashइसके बजाय मेरे सिस्टम पर स्थापित के विभिन्न संस्करण हैं#!/bin/bash