2011-12-01 13 views
21

मैं .svn निर्देशिकाओं को छोड़कर, पिछले 5 मिनट में संशोधित सभी फ़ाइलों को सूचीबद्ध करना चाहता हूं।.svn निर्देशिकाओं को छोड़कर पिछले 5 मिनट में संशोधित सभी फ़ाइलों की सूची

मैंने निम्नलिखित स्क्रिप्ट को एक साथ काम किया है जो किसी भी -atime या -ctime पैराम्स का पालन नहीं करता है।

find . -atime -5m -type d -name .svn -prune -o -type f -print 

मुझे लगता है कि मैं खुद को एक छेद में खोद रहा हूं कि आंखों का एक अतिरिक्त सेट आसानी से स्थानांतरित हो सकता है।

उत्तर

27

तर्कों का एक अलग क्रम आज़माएं। आपका आदेश:

  • एक प्रविष्टि पांच मिनट और भीतर पहुँचा रहा है, तो एक निर्देशिका और नाम .svn है, तो प्रवेश नजरअंदाज कर दिया है
  • अन्यथा, सभी अन्य मामलों के लिए, अगर यह एक फ़ाइल,

निम्न आदेश आलूबुखारा .svn निर्देशिका उन्हें में उतरते से पहले नाम मुद्रित:

find . -type d -name .svn -prune -o -mmin -5 -type f -print 

एक फ़ाइल एक निर्देशिका और नाम .svn है है, तो इसे ध्यान न दें और या तो इसे में उतर नहीं है। अन्यथा, यदि यह अंतिम बार संशोधित है (-mmin) 5 मिनट और फ़ाइल के भीतर, फ़ाइल नाम मुद्रित करें।

+0

धन्यवाद, यह चाल काफी अच्छी थी। यह समझने में मेरी सहायता करने में स्पष्टीकरण सर्वोपरि है कि मैं क्या गलत कर रहा था। –

1

-atime अंतिम एक्सेस समय पर दिखता है। मुझे लगता है कि आप -mmin खोज रहे हैं। मुझे केवल सिग्विन आसान मिला है इसलिए मैं इसका परीक्षण नहीं कर सकता ...

1

-and-atime और -type d के बीच माना जाता है, इसलिए आप केवल 5 मिनट से अधिक पुरानी एसवीएन निर्देशिकाओं को छीन रहे हैं। आज़माएं:

find . -type d -name .svn -prune -o -type f -mmin 5 -print 
संबंधित मुद्दे