2012-08-29 10 views
15

मैक (बर्फ तेंदुए) पर मेरी बैश स्क्रिप्ट में मेरे पास पथ और फ़ाइल नाम है, और मुझे उस फ़ाइल की संशोधित दिनांक/समय प्राप्त करने की आवश्यकता है। मैंने पाया कि मैं कर सकता है:
stat -f "%m" $MYFILEमैक बैश पर फ़ाइल की संशोधित दिनांक/समय स्वरूपित?

हालांकि, रिटर्न कि क्या मुझे लगता है युग दिनांक/समय है। मुझे स्वरूपित दिनांक/समय की आवश्यकता है: YYYYMMDDThhmmss। मुझे सभी प्रकार के विकल्प मिल गए हैं (जैसे date) जो स्पष्ट रूप से जीएनयू पर निर्भर करते हैं, जो मेरे मैक पर नहीं है।

मैक (बीएसडी?) बैश पर उपयोगकर्ता द्वारा निर्दिष्ट प्रारूप में फ़ाइल की दिनांक/समय संशोधित करने का मानक तरीका क्या है। या कम से कम, दिनांक/समय स्वरूपण फ़ंक्शन जिसे मैं ऊपर stat कॉल का परिणाम पास कर सकता हूं।

उत्तर

28

यह वास्तव में बहुत सरल है, लेकिन जीएनयू date से काफी अलग है कि यह स्पष्ट के पास कहीं भी नहीं है:

date -r $TIMESTAMP +%Y%m%dT%H%M%S 

stat प्राप्त करने के लिए स्वरूपण करने के लिए:

stat -f "%Sm" -t "%Y%m%dT%H%M%S" FILE 
+2

धन्यवाद! वाह, मेरी इच्छा है कि मैंने घंटों पहले पूछा होगा! –

+1

अंततः एक सरल, सीधे बिंदु पर, इस सवाल का कोई भयानक और प्रभावी उत्तर नहीं! मुझे विश्वास नहीं है कि कितने लोग सोचते हैं कि मैं वास्तव में स्टेट या डेट कमांड के सभी 1,000 संशोधकों को सीखने की परवाह करता हूं ... बस काम करने वाले कमांड को पूरा करें और यह है !! आपका बहुत बहुत धन्यवाद! –

+0

वाह, मैंने 'मैन स्टेट' पढ़ा और इसे समझ नहीं पाया। – wisbucky

संबंधित मुद्दे