मैं उन फ़ाइलों को कैसे खोज सकता हूं जो निश्चित समय के बीच बदल गई हैं?


1

मेरे पास साइबरविन के साथ 7 बॉक्स हैं। मेरे पास एक रूट फ़ोल्डर के भीतर फ़ाइलों के साथ कई फ़ोल्डर हैं। मैं उन फ़ाइलों की सूची ढूंढना चाहता हूं जिनमें किसी विशिष्ट दिनांक समय सीमा के भीतर एक समय टिकट है।


मेरा सबसे अच्छा प्रयास है: ls -Rlt
dublintech

जवाबों:


2

आप विकल्प के findसाथ कमांड का उपयोग कर सकते हैं -newerXY

से man find:

-newerXY संदर्भ
के साथ मौजूदा फ़ाइल के टाइमस्टैम्प तुलना संदर्भसंदर्भ तर्क आम तौर पर एक फ़ाइल का नाम (और इसके timestamps में से एक की तुलना के लिए प्रयोग किया जाता है) है लेकिन यह भी एक स्ट्रिंग एक पूर्ण समय का वर्णन हो सकता है। एक्स और वाई अन्य पत्रों के लिए प्लेसहोल्डर हैं, और ये पत्र चयन करते हैं कि तुलना के लिए संदर्भ का उपयोग किस समय से संबंधित है ।

X और Y के लिए संभावित मान इस प्रकार हैं:

  • वर्तमान फ़ाइल या संदर्भ का ए - अंतिम एक्सेस समय
  • बी - वर्तमान फ़ाइल या संदर्भ का जन्म समय
  • ग - वर्तमान फ़ाइल या संदर्भ का अंतिम इनोड स्थिति परिवर्तन समय
  • एम - वर्तमान फ़ाइल या संदर्भ का अंतिम संशोधन समय
  • टी - संदर्भ एक टाइमस्टैम्प का प्रतिनिधित्व करने वाला एक स्ट्रिंग है ( एक्स के लिए मान्य नहीं )

X वर्तमान फ़ाइल को संदर्भित करता है और Y को संदर्भित करता है , इसलिए आप पहले अक्षर के लिए 'm' (वर्तमान फ़ाइल का संशोधन तिथि) और दूसरे के लिए 't' का उपयोग करना चाहेंगे (टाइमस्टैम्प एक स्ट्रिंग के रूप में पारित)। उदाहरण लिपि:

find . -type f -newermt "2012-05-01" ! -newermt "2012-05-15"

यह 1 और 15 मई 2012 के बीच संशोधित की गई सभी फाइलों को ढूँढता है। !(तार्किक NOT) ऑपरेटर इसके पीछे दिए गए तर्क के अर्थ को उलट देता है - यदि -newerXYइसका अर्थ है "X, Y से नया है" तो ! -newerXYइसका मतलब है कि "X, Y से पुराना है"।


एक वैकल्पिक विकल्प, चूंकि आप विंडोज पर हैं, पॉवर्सशेल का उपयोग करना है। Get-ChildItemCmdlet किसी दिए गए फ़ोल्डर (रिकर्सिवली, अगर वांछित), और में सभी फाइलों रिटर्न Where-Objectcmdlet आप अन्य आदेशों के उत्पादन में फिल्टर करने के लिए अनुमति देता है। उदाहरण स्क्रिप्ट (आप जिस निर्देशिका को खोजना चाहते हैं, वह वर्तमान निर्देशिका है):

Get-ChildItem -Recurse | Where-Object { $_.LastWriteTime -ge "2012-05-01" -and $_.LastWriteTime -le "2012-05-15" -and !$_.PSIsContainer }

यह 1 और 15 मई 2012 के बीच संशोधित सभी फाइलों को लौटाता है। आप CreationTimeइसके बजाय LastWriteTimeफ़ाइल निर्माण समय की जांच के लिए उपयोग कर सकते हैं । !$_.PSIsContainerफिल्टर केवल फाइलों रिटर्न ( PSIsContainerफ़ोल्डरों के लिए सच है, और विस्मयादिबोधक चिह्न फिर तार्किक है NOTऑपरेटर)।


-1

GUI फ़ाइल एक्सप्लोरर के साथ उस फ़ाइल को ढूंढना भी संभव है। कुछ उदाहरण:

datemodified:2015-02-18 08:00..2015-02-18 13:00
datemodified:>2015-02-18 08:00
datemodified:<2015-02-18 08:00

और कुछ आगे पढ़ने: Windows में खोज के लिए उन्नत टिप , का उपयोग करते हुए उन्नत क्वेरी सिंटेक्स प्रोग्राम


हम यहां उच्च गुणवत्ता वाले उत्तर की अपेक्षा करते हैं, Superuserजिसका अर्थ है कि उत्तर में सभी प्रासंगिक जानकारी शामिल होनी चाहिए, न कि केवल बाहरी संसाधनों के लिंक।
रामहाउंड

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