यदि किसी के findपास नहीं है -mminऔर यदि कोई भी इसके साथ अटका हुआ है , तो इसके findलिए केवल पूर्णांक मानों को स्वीकार करता है -mtime, तो सभी जरूरी नहीं खो जाते हैं यदि कोई मानता है कि "पुराने से" समान है "से नया नहीं"।
यदि हम एक ऐसी फ़ाइल बनाने में सक्षम थे जिसमें हमारे कट-ऑफ समय का एक मेल है, तो हम उन findफ़ाइलों का पता लगाने के लिए कह सकते हैं जो हमारी संदर्भ फ़ाइल से "नई नहीं" हैं।
एक फ़ाइल बनाने के लिए, जिसमें सही समय टिकट होता है, थोड़ा सा शामिल होता है क्योंकि एक सिस्टम जिसमें पर्याप्त नहीं होता है, findशायद एक कम-से-सक्षम dateकमांड भी होता है जो इस तरह की चीजें कर सकता है date +%Y%m%d%H%M%S -d "6 hours ago":।
सौभाग्य से, अन्य पुराने उपकरण जो इसे प्रबंधित कर सकते हैं, यद्यपि वे अधिक अवांछित तरीके से काम करते हैं।
गौर करें कि छह घंटे 21600 सेकंड हैं। हम उस समय को खोजना चाहते हैं जो छह घंटे पहले एक प्रारूप में है जो उपयोगी है:
$ date && perl -e '@d=localtime time()-21600; \
printf "%4d%02d%02d%02d%02d.%02d\n", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]'
> Thu Apr 16 04:50:57 CDT 2020
202004152250.57
पर्ल स्टेटमेंट ने एक उपयोगी तारीख का निर्माण किया, लेकिन इसे बेहतर उपयोग के लिए रखा जाना चाहिए:
$ date && touch -t `perl -e '@d=localtime time()-21600; \
printf "%4d%02d%02d%02d%02d.%02d\n", \
$d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]'` ref_file && ls -l ref_file
Thu Apr 16 04:53:54 CDT 2020
-rw-rw-rw- 1 root sys 0 Apr 15 22:53 ref_file
अब इस पुराने UNIX का हल कुछ इस तरह है:
$ find . -type f ! -newer ref_file -a ! -name ref_file -exec rm -f "{}" \;
यह हमारी संदर्भ फ़ाइल को साफ करने के लिए एक अच्छा विचार हो सकता है ...
$ rm -f ref_file