एक मिनट से अधिक पुरानी सभी फ़ाइलों का पता लगाएं


8

मैं उन findफ़ाइलों का चयन करने के लिए कैसे उपयोग कर सकता हूं जिन्हें अंतिम मिनट में लिखा और संशोधित नहीं किया गया है?

मुझे पता है कि मैं इसे दूसरे तरीके से कर सकता हूं, पिछले 60 सेकंड में संशोधित फ़ाइलों को ढूंढें -mtime -60s, लेकिन मैं चाहता हूं कि पिछले 60 सेकंड में संशोधित नहीं किया गया है।

यदि मैं सेकंड का उपयोग करता हूं तो मैं लिनक्स का उपयोग करता हूं और यह त्रुटि प्राप्त करता हूं:

find ??/ -mtime +60s -name blah.tsv
find: invalid argument `+60s' to `-mtime'

जवाबों:


13

उपयोग find /path -type f -mtime +60s

-बस अंक से पहले एक नियमित रूप से "तर्क पानी का छींटा" का अर्थ है "से कम" नहीं है, लेकिन। +तब "से अधिक" है।

से man find:

सभी प्राइमरी जो एक संख्यात्मक तर्क लेते हैं, संख्या को प्लस चिह्न (`` + '') या एक शून्य चिह्न (`` - '') से पहले होने की अनुमति देते हैं। पूर्ववर्ती प्लस चिह्न का अर्थ है `` n 'से अधिक', पूर्ववर्ती ऋण चिह्न का अर्थ है `` n '' से कम और न ही `` बिल्कुल n ''।

यह ध्यान दिया जाना चाहिए कि बिल्कुल n के लिए , समय गोल है। तो 1(1 दिन) का मतलब 86400 सेकंड नहीं है।


2
कड़ाई से बोलना, +60के विपरीत नहीं है -60, उसी कारण से कम से अधिक के विपरीत नहीं है : दोनों की तुलना में वे सटीक मूल्य को बाहर करते हैं। लेकिन आपका प्रश्न इंगित नहीं करता है कि आप कौन सा व्यवहार चाहते हैं, बिल्कुल।
डैनियल बेक

यह वास्तव में एक ही वास्तव में नहीं है, क्योंकि! मूल "क्वेरी" को बदलता है। लेकिन सहमत, ओपी निर्दिष्ट नहीं करता है कि वह क्या चाहता है।
करोलोस

एक दिन बाद, ओपी ने कहा कि यह लिनक्स पर है, मैक ओएस एक्स पर नहीं। अगर इसका जवाब बदल गया होता, तो क्या आप इसे अपडेट कर सकते हैं?
पीटर मोर्टेंसन

1
हाँ, यह लिनक्स पर काम नहीं करता है। कम से कम RHEL 5.6। हालांकि, सीजएक्सएक्स की प्रतिक्रिया काम करती है।
19

2
यह CentOS पर काम नहीं करता है। जैसा कि माना जाता है कि यह Mac OS X
trante


4

दूसरे -में -mtime -60sहै नहीं एक विकल्प सीमांकक।

-mtimeएक विकल्प है, और यह एक विकल्प तर्क के बाद है । विकल्प तर्क है -60s, और -उस में विकल्प तर्क ही है, का हिस्सा है नहीं एक विकल्प सीमांकक। इसका मतलब है "60 सेकंड से कम"। विकल्प तर्क 60sऔर +60s"क्रमशः 60 सेकंड के बराबर" और "60 सेकंड से अधिक" का अर्थ है।

एप्पल MacOS मैनुअल और FreeBSD पुस्तिका उल्लेख +और -उपसर्गों वास्तव में एक ही स्थान पर, और कहीं भी समझाने के लिए वे क्या कर रहे हैं भूल जाते हैं। यही वे हैं।

(जीएनयू के लिए जीएनयू इन्फो मैनुअल findमें वही चूक है, दिलचस्प रूप से पर्याप्त है। हालांकि, findकई बार जीएनयू का सिंटैक्स बीएसडी और मैकओएस findसिंटैक्स से कुछ अलग है ।)

आगे की पढाई

  • Apple शामिल (2008-02-24)। findMacOS 10 मैनुअल पेज । MacOS 10 डेवलपर लाइब्रेरी।
  • find(१) । 2010-03-17। फ्रीबीएसडी जनरल कमांड्स मैनुअल। FreeBSD परियोजना।

1
इसे केवल एक ही स्थान पर व्याख्या करने से भी बदतर है : अन्य सभी विकल्प atimeसमय प्रारूप के लिए संदर्भित करते हैं , लेकिन यह भी उपसर्गों की व्याख्या नहीं करता है । यह एक अलग अनुभाग है जिसे संदर्भित नहीं किया गया है।
डैनियल बेक

वास्तव में; और आप पाएंगे कि मैंने लिखा था। मैंने "उल्लेख" लिखा, और "कहीं भी व्याख्या करना भूल गया"। B
JdeBP

मैं तुम्हें खंडन करने के लिए मतलब नहीं था, बस का कहना है कि चाहता था वास्तव में एक ही स्थान पर भी है सबसे खराब संभव जगह एक से पीओवी "चलो चलो बस आदमी पेज स्किम"।
डैनियल बेक

लेकिन यह बिल्कुल एक जगह नहीं समझाया गया है। यह किसी भी जगह पर समझाया नहीं गया है। मैनुअल पृष्ठों के एक सेट के लिए जो आम तौर पर मेरे अनुभव में काफी अच्छी तरह से लिखा और संपादित किया जाता है, यह एक आश्चर्यजनक चूक है।
जेडीबीपी

1
हे! ऐसा इसलिए है क्योंकि आप जादुई रूप से पहले से ही उत्तर जानते हैं और दस्तावेज़ को पढ़ते समय जुड़वाँ को जोड़ सकते हैं, जो वास्तव में नहीं लिखा है उसे भरना। वे लोग जिनके पास (y) हमारे पूर्वाभास नहीं हैं और मैनुअल पढ़ने के लिए यह पता लगाना पड़ता है कि "संशोधक" कहीं भी क्यों है, इसका कोई स्पष्टीकरण नहीं है। B
जेडीबीपी

3

आप का उपयोग करने में सक्षम होना चाहिए

find . ! -mtime -60s

1
मेरे लिए कोष्ठक की आवश्यकता है:find . !( -mtime -60s )
डेर होकस्टाप्लर 16

@ ऑलिवरसालबर्ग: मेरे मैक पर, यह कोष्ठक के बिना ठीक काम करता है (डार्विन कर्नेल संस्करण 11.2.0)।
करोलोस

1

यूनिक्स प्रणालियों में-समय के बाद एक संख्या का उपयोग किया जाता था +/- समय की इकाइयों के बाद एक संख्या। [+ -] nn [डीएमएस]

लिनक्स दिनों के लिए माइम का उपयोग करता है, मिमी मिनट के लिए, लेकिन एक सेकंड का विकल्प नहीं लगता है और एक समय इकाइयों का उपयोग नहीं करता है। + या - अभी भी ऊपर बताए अनुसार एक विकल्प तर्क होने के बजाय समय से कम या अधिक से अधिक संदर्भित करता है।

आप -mmin 1 का उपयोग कर सकते हैं, लेकिन /unix/238738/find-files-newer-than-15-seconds-but-older-than-2-seconds चर्चा करते हैं कि सामान्य रूप से सेकंड कैसे हैंडल करें। ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.