मुझे यह पता लगाने के लिए find myfile.txt -mtime +5
करने में सक्षम होने के बारे में अच्छी तरह से पता है कि मेरी फ़ाइल 5 दिनों से अधिक पुरानी है या नहीं। हालांकि मैं myfile.txt के दिनों में mtime लाने और इसे आगे के उपयोग के लिए एक चर में संग्रहीत करना चाहता हूं। मुझे यह कैसे करना है?बाश - विशिष्ट फ़ाइल का mtime प्राप्त करें?
उत्तर
stat
आपको लगता है कि जानकारी देने के कर सकते हैं:
filemtime=`stat -c %Y myfile.txt`
%Y
आप के रूप में "युग के बाद से सेकंड" अंतिम संशोधन देता है, लेकिन वहाँ अन्य विकल्पों में से बहुत सारे हैं; more info। इसलिए यदि फ़ाइल को 2011-01-22 को 15:30 GMT पर संशोधित किया गया था, तो उपर्युक्त 1295710237 के क्षेत्र में एक संख्या वापस कर देगा।
संपादित करें: आह, आप इसे संशोधित होने के दिनों में समय चाहते हैं । यह अधिक जटिल होने जा रहा है, कम से कम नहीं क्योंकि "दिन" निश्चित अवधि नहीं है (कुछ "दिनों" में केवल 23 घंटे हैं, अन्य 25 — डेलाइट बचत समय के लिए धन्यवाद)।
अनुभवहीन संस्करण इस प्रकार दिखाई देंगे:
filemtime=`stat -c %Y $1`
currtime=`date +%s`
diff=$(((currtime - filemtime)/86400))
echo $diff
... लेकिन फिर, कि एक दिन यह सोचते है हमेशा बिल्कुल 86,400 दूसरा लंबा है।
बैश here में गणित के बारे में अधिक जानकारी।
क्या यह जवाब है? स्टेट सहायता
stat --help
Usage: stat [OPTION]... FILE...
Display file or file system status.
[...]
-c --format=FORMAT use the specified FORMAT instead of the default;
output a newline after each use of FORMAT
[...]
The valid format sequences for files
[...]
%y Time of last modification, human-readable
%Y Time of last modification, seconds since Epoch
[...]
AGE=$(perl -e 'print -M $ARGV[0]' $file)
, दिनों में $ फ़ाइल की उम्र तक $ आयु सेट हो जाएगा के रूप में पर्ल के -M
ऑपरेटर आप के लिए दिनों के लिए stat
कॉल और रूपांतरण संभालती पर
A=$(stat -c "%y" myfile.txt)
नज़र ।
वापसी मूल्य एक फ़्लोटिंग-पॉइंट मान है (उदाहरण के लिए, 6.62849537 दिन)। एक int
अभिव्यक्ति में जोड़े यदि आप एक पूर्णांक परिणाम
AGE=$(perl -e 'print int -M $ARGV[0]' $file)
रूबी और पायथन भी उनके एक-लाइनर्स एक फ़ाइल स्टेट और कुछ डेटा वापस लौटाना होगा की आवश्यकता है, लेकिन मेरा मानना है कि पर्ल सबसे संक्षिप्त तरीके से है।
स्वीकार्य से यह एक बेहतर जवाब है! – Anne
- 1. बाश स्क्रिप्ट: whiptail फ़ाइल का चयन करें
- 2. एक प्रतीकात्मक लिंक के ctime, mtime, ... को कैसे प्राप्त करें?
- 3. बाश
- 4. बाश
- 5. बाश
- 6. बाश
- 7. बाश
- 8. किसी विशिष्ट फ़ाइल की मूल निर्देशिका प्राप्त करें
- 9. "ढूंढें आदेश -mtime 0" फ़ाइल प्राप्त नहीं कर रहा है मुझे उम्मीद है कि
- 10. यूनिक्स/बाश: विशिष्ट महीनों में संशोधित लिस्टिंग फाइल
- 11. mongodb विशिष्ट रिकॉर्ड प्राप्त करें
- 12. विशिष्ट फ़ाइल विशेषताओं को प्राप्त करना
- 13. फ़ाइल का विस्तार प्राप्त करें (संपादित करें)
- 14. केवल बाश बिल्ट-इन्स
- 15. बाश को वैरिएबल में वाइल्डकार्ड का विस्तार कैसे करें?
- 16. बाश स्क्रिप्ट
- 17. टिल्ड विस्तार बाश
- 18. फ़ाइल सिस्टम प्रतिबंध प्राप्त करें
- 19. विशिष्ट फ़ाइल
- 20. बाश: बहुआयामी सहयोगी सरणी
- 21. जावा फ़ाइल का आकार कुशलतापूर्वक प्राप्त करें
- 22. डीएलएल का फ़ाइल नाम कैसे प्राप्त करें?
- 23. .ttf फ़ाइल का फ़ॉन्ट नाम प्राप्त करें
- 24. ग्रहण: वर्तमान फ़ाइल का स्थान प्राप्त करें?
- 25. "System.Drawing.Image" का फ़ाइल आकार कैसे प्राप्त करें
- 26. एंड्रॉइड फ़ाइल संसाधन का आकार प्राप्त करें?
- 27. फ़ाइल का आकार कैसे प्राप्त करें
- 28. फ़ाइल प्राप्त करें piracy
- 29. बाश में सशर्त पुनर्निर्देशन
- 30. किसी विशिष्ट संपत्ति का PropertyInfo कैसे प्राप्त करें?
वह मीठा था, दुर्भाग्य से मैंने खुद को मूर्ख बना दिया और भूल गया कि मुझे दिनों में मातृ युग की आवश्यकता है। क्या यह संभव है? – Industrial
@ इंडस्ट्रियल: एक बार आपके पास मूल्य होने के बाद, आप उस पर गणित कर सकते हैं। मैं आपका मतलब "... दिनों में मातृ युग" का पालन नहीं करता हूं। (कब से दिन? तुम्हारा मतलब है, कितने दिन पहले इसे संशोधित किया गया था?) –
दिनों के बारे में हिस्सा मिस गया, +1 +1 – Anders