MIME के ​​साथ अंतर ज्ञात करें - और +


6

इससे क्या फर्क पड़ता है mtime की - तथा + स्विच के रूप में दोनों मैं परिणाम की जरूरत वापस नहीं ला रहे हैं?

मैं 5 दिनों से अधिक पुरानी सभी फ़ाइलों को हटाना चाहता हूं:

 find /mnt/sdb1/tmp/ -type f -mtime +5 -exec ls {} \;
 find /mnt/sdb1/tmp/ -type f -mtime -5 -exec ls {} \;

मैंने आउटपुट को बदल दिया है ls परिणामों की तुलना करने के लिए।

जवाबों:


10

से find आदमी का पेज:

    Numeric arguments can be specified as

   +n     for greater than n,
   -n     for less than n,
    n     for exactly n.

  -mtime n
          File's data was last modified n*24 hours ago.  See the comments for 
          -atime to understand how rounding  affects  the  interpretation  of
          file  modification times.

   -atime n
          File was last accessed n*24 hours  ago.   When  find  figures  out  
          how  many 24-hour  periods  ago  the  file  was  last  accessed, any 
          fractional part is ignored, so to match -atime +1, a file has to have 
          been accessed at least two days ago.

इसलिए, -mtime +5 उन फाइलों को अंतिम रूप से संशोधित किया जाएगा अधिक 5 * 24 घंटे पहले और -mtime -5 उन फाइलों को अंतिम रूप से संशोधित किया जाएगा कम से 5 * 24 घंटे पहले। 5 दिनों से अधिक पुरानी फ़ाइलों को हटाने के लिए 1 तुम करोगे:

find /mnt/sdb1/tmp/ -type f -mtime +5 -exec rm {} \;

यदि यह आपके इच्छित परिणाम को वापस नहीं कर रहा है, तो टाइमस्टैम्प के साथ समस्या हो सकती है। क्या यह सही ढंग से विचाराधीन फाइलों के लिए रिपोर्ट किया गया है? यदि यह बाहरी USB ड्राइव है, तो हो सकता है कि फ़ाइलें किसी अन्य मशीन पर बनाई गई हों और आपकी अपेक्षा से अलग टाइमस्टैम्प हो।


1 ध्यान दें कि यहां इकाई एक दिन, 24 घंटे है। तो 5 दिनों से अधिक पुराने का मतलब है कम से कम 6 दिन पुराना क्योंकि मूल्य हमेशा गोल और आंशिक भागों को अनदेखा किया जाता है।


नहीं, के बारे में बयान -mtime +5 के विपरीत है गिल्स का जवाब (क्रॉस साइट)। यह "6 * 24h" से अधिक होगा (जो भी कारण (विभाजन और नीचे चक्कर लगाना?) के लिए +1 प्रभाव।
Peter Mortensen

@PeterMortensen सबसे पहले, कृपया "नहीं" के साथ बयान शुरू न करें। यह उन्हें अनावश्यक रूप से टकराव का कारण बनाता है, और आपकी बात को कठिन बना देता है। उस ने कहा, मैं विरोधाभास नहीं देख रहा हूं। -mtime +5 कम से कम 6 दिन पहले 5 दिनों से अधिक संशोधित फ़ाइलें मिलेंगी। यही कारण है कि मैं क्या कहता हूं और गाइल्स सैस और, इससे भी महत्वपूर्ण बात यह है कि मैनपेज और एक साधारण परीक्षण क्या दिखाएगा: touch -d '6 days ago' file; find -mtime +5। अगली बार, हमला करने के बजाय कुछ परीक्षण करें। लेकिन ठीक है, मैंने उत्तर को स्पष्ट कर दिया है।
terdon

1

-mtime +5 आपको 5 दिन और (6, 7, ...) से पहले संशोधित सभी फ़ाइलों को दिखाना चाहिए, जबकि -5 आज के 5 दिन पहले के बदलावों को दिखाना चाहिए।


नहीं, के बारे में बयान -mtime +5 के विपरीत है गिल्स का जवाब (क्रॉस साइट)। यह "6 दिन और पहले (7, 8, ...) संशोधित किया जाएगा (जो भी कारण (विभाजन और नीचे राउंडिंग?) के लिए +1 प्रभाव)।
Peter Mortensen
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.