2010-04-01 12 views
6

पिछली रात मेरी एक स्क्रिप्ट थोड़ी पागल हो गई और 3:00 और 3:09 बजे के बीच निर्देशिकाओं का एक समूह बना। क्या कोई त्वरित लाइनर है जो इन्हें शिकार करेगा और उन्हें मेरे लिए हटा देगा?कुछ समय टिकटें के बीच बनाई गई फ़ाइलों को हटाएं।

find . -newer first -not -newer last -type d 

और अगर:

उत्तर

6

उपयोग करते हैं, तो आप खोज का उपयोग कर सकते उत्पादन सूट आप, हटाना

find . -newer first -not -newer last -type d -print0 | xargs -0 rmdir 

या साथ के लिए जाना स्पष्ट तारीख टिकटों:

find . -newermt "2010-03-31 0300" -not -newermt "2010-03-31 0310" -type d 
+0

इसे चलाने से ध्वज xargs: बेजोड़ एकल उद्धरण देता है; डिफ़ॉल्ट उद्धरण द्वारा xargs के लिए विशेष हैं जब तक कि आप -0 विकल्प का उपयोग न करें –

0

बस आप पहली और आखिरी (कालानुक्रमिक) निर्देशिका आप हटाना चाहते हैं के लिए खोज कर सकते हैं लगता है

find . -type d -newermt "2010-03-31 0300" -and \(-not -newermt "2010-03-31 0310" \) -exec rm -rf {} \; 
+0

यह विल्स अपनी सभी सामग्री के साथ निर्देशिका हटा देता है, केवल फाइल नहीं। – alk

1

आप इस कोशिश कर सकते हैं, अगर आप सिर्फ एक निर्देशिका और ls -ltrog उत्पादन के 5 वें क्षेत्र में समय काम कर रहे हैं है।

ls -ltrog | awk '$5~/03:0[0-9]/{$1=$2=$3=$4=$5="";gsub("^ +",""); cmd="rm \047"$0"\047";system(cmd) }' 
संबंधित मुद्दे