Ls के साथ डेट के बाद बनाई गई फ़ाइलों को कैसे प्राप्त करें?


97

lsकमांड के साथ , क्या केवल विशिष्ट तिथि, घंटे के बाद बनाई गई फ़ाइलों को दिखाना संभव है ...?

मैं इसे पूछ रहा हूं क्योंकि मेरे पास हजार फाइलों के साथ एक निर्देशिका है।

मैं चाहता हूं कि कल से बनाई गई सभी फाइलें देखें।

मैं उपयोग करता हूं ls -ltrलेकिन मुझे सभी फाइलों को देखने के लिए इंतजार करना होगा ...

DIRECTORY/SINCE=dateOpenVMS से एक बराबर है ?


1
lsफ़ाइलों को सूचीबद्ध करता है, लेकिन यह सूची या आउटपुट प्रारूप में क्या फ़ाइलों का चयन करने के लिए बहुत कुछ प्रदान नहीं करता है। ग्लोबिंग (शेल वाइल्डकार्ड) का उपयोग करें या findजब आप नाम या मेटाडेटा (जैसे दिनांक) द्वारा फ़ाइलों का चयन करना चाहते हैं।
गाइल्स

3
तो एलएस के साथ तारीख कैसे चली गई? क्या आप दो इसे बंद मारा?
गैरेट अलब्राइट

3
साथ zsh:ls -1 -- *(.m-1)
don_crissti 15

जवाबों:


123

आप उन findसभी फ़ाइलों को खोजने के लिए कमांड का उपयोग कर सकते हैं जिन्हें कुछ दिनों के बाद संशोधित किया गया है।

उदाहरण के लिए, वर्तमान निर्देशिका की सभी फाइलों को खोजने के लिए जिन्हें कल से संशोधित किया गया है (24 घंटे पहले) उपयोग:

find . -maxdepth 1 -mtime -1

ध्यान दें कि संशोधित फ़ाइलों को खोजने के लिए इससे पहले कि 24 घंटे पहले, आप का उपयोग करने के -mtime +1बजाय -mtime -1


3
बहुत ही बात मैंने कही होगी। अपने आप को lsयहाँ, ल्यूक तक सीमित करने का कोई कारण नहीं है ।
वारेन यंग

14
जीएनयू खोजने के साथ, अन्य संभावनाएं हैं। -mmin 5अंतिम 5 मिनट में संशोधित फाइलों को सूचीबद्ध करता है। -newermt "2011-02-27 13:42"निर्दिष्ट तिथि के बाद संशोधित फाइलों को सूचीबद्ध करता है। आप सामान्य रंग प्रदर्शन (यदि आपको रंगीन एलएस आउटपुट पसंद है) प्राप्त करने के -exec ls --color -ld {} +बजाय उपयोग कर सकते हैं -ls
गाइल्स

3
माइनस साइन पर ध्यान दें:find . -mmin -5
user7543

और -maxdepth 1 को उप-स्तर के तहत फ़ाइलों को खोजने के लिए किसी भी n मान में बढ़ाया जा सकता है
अंशुमान

3
मेरे लिए यह इस तरह काम करता है: खोजें। -टाइप f -newermt '1/15/2012 18:09:00'
woohoo

14
find . -type f -newermt '1/30/2017 0:00:00'

यह एक विशिष्ट तिथि के बाद संशोधित सभी फाइलों को ढूंढेगा।


1
ls -ltr | grep "`date | awk '{print $2" "$3}'`"

5
हाय ट्रेंट! जबकि आपका समाधान ls का उपयोग करने के प्रश्न के अनुरोध का सम्मान करने के प्रयास में रचनात्मक है, ls के आउटपुट को पार्स करना शायद ही कभी सुरक्षित होता है (उदाहरण के लिए, यहाँ newlines सहित फ़ाइल नामों के साथ क्या होता है?), और हम इसे केवल एक के जवाब के लिए पसंद करते हैं- लाइनर्स, बल्कि यह समझाने के लिए कि वे कैसे अधिक से अधिक विस्तार से काम करते हैं।
धग

1
मुद्दे: (1) मेरे सिस्टम पर, dateकहते हैं Jun 03, लेकिन lsकहते हैं Jun  3, इसलिए यह काम नहीं करता है। (२) एक हफ्ते पहले, तारीख २ ago मई थी। ls -l | grep "May 27"उस दिन संशोधित फाइलें मिलेंगी, लेकिन साथ ही किसी अन्य वर्ष की २ A मई को संशोधित फाइलें - और उनके नाम पर 27 ago 27 मई ’’ वाली  फाइलें भी होंगी। (और अगर आपको लगता है कि एक पूरी तरह से फर्जी चिंता को देखने के लिए, "10 दिसंबर" ,।) (3) और अगर आप पाने में कामयाब रहे dateकहने के लिए Jun 2मिलेगा, उस के लिए grepping Jun 20के माध्यम से Jun 29नहीं, बल्कि Jun  2(दो रिक्त स्थान के साथ)। … (Cont'd)
G-Man

1
(Cont'd)… (4) ओपी ls -ltrलिस्टिंग के अंत में सबसे हाल ही में संशोधित फ़ाइलों को प्राप्त करने के लिए उपयोग कर रहा था । यदि आप किसी तिथि के लिए तैयारी कर रहे हैं, तो ऐसा करने की कोई आवश्यकता नहीं है (27 मई, 2015 को लिस्टिंग के अंत में, 27 मई, 2014, 27 मई, 2013, आदि, फ़ाइलों के बाद फ़ाइलों को छोड़कर)। (5) awk में, इसके print $2, $3समकक्ष है print $2" "$3, और पढ़ने में बहुत आसान है - विशेषकर जब उद्धरण के तीन अन्य स्तर हैं।
जी-मैन

ls -ltr | grep "$(date | awk '{print $2,$3}')"
सर्जियोआराउजो

0

आशा है कि यह काम करेगा:

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $9}'

यहाँ:

$6 indicates position of month
$7 indicates day of the month

यह उपरोक्त आदेश उन सभी फ़ाइल नामों को प्रिंट करता है जो 1 मई से 31 मई तक या उसके बाद बनाए जाते हैं

यदि आप दिनांक के साथ-साथ कंसोल पर प्रिंट करना चाहते हैं तो यह प्रयास करें

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'

यदि आप निर्देशिका का पथ निर्दिष्ट करना चाहते हैं, तो आप इसे आज़मा सकते हैं

ls -ltr <path>| awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'

कई कारणों से, lsआउटपुट को पार्स करना एक अच्छा विचार नहीं है । और हर कोई अंग्रेजी नहीं बोलता :-)
Luc M
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.