ओएस एक्स में संशोधन की तारीख द्वारा आदेशित 'खोज' द्वारा मिली फ़ाइलों को मैं कैसे प्राप्त करूं?


13

मैक ओएस एक्स टर्मिनल का उपयोग करते हुए, मैं एक findकमांड कैसे लिखता हूं जो संशोधन तिथि (हाल ही में सबसे पहले) द्वारा परिणाम का आदेश देता है?

पहले से ही समान प्रश्न हैं, लेकिन वे GNU findऔर POSIX का संदर्भ देते हैं , लेकिन मुझे नहीं पता कि Mac OS X GNU है या POSIX या कुछ और।

जवाबों:


16

OS X पूरी तरह से POSIX कंप्लेंट है।

कुछ ऐसा करना चाहिए:

find . -type f -name "*.txt" -print0 | xargs -0 ls -tl

कुछ नोट:

  • -tमें विकल्प lsके आधार पर सॉर्ट जाएगा mtime
  • xargsका उपयोग एक तर्क के रूप में फाइलनाम पास करने के लिए किया जाता है ls। नोट आप का उपयोग करने के लिए है कि -print0में findऔर -0में xargsआप उनके नाम में रिक्त स्थान के साथ फ़ाइलें है। साथ ही, तर्क की अधिकतम राशि चर द्वारा सीमित हैARG_MAX । यह पता लगाने के लिए कि ये कितने हैं, दर्ज करें getconf ARG_MAX
  • आप -rक्रमबद्ध क्रम को उलटने के लिए आपूर्ति कर सकते हैं (→ सबसे पुरानी फाइलें पहले)
  • अन्य findऔर lsविकल्प हैं - हमेशा की तरह - मैनुअल ( man findया man ls) में उल्लिखित ।

ls -ltrआदेश को उलटने के लिए।
डैनियल बेक

Xe केवल उन्हें ARG_MAXनिश्चित रूप से उस तरह के फ़ाइल नाम वर्णों के समूहों के भीतर हल कर देगा ।
JdeBP

हाँ, इसके अलावा @JBBP और डैनियल के लिए धन्यवाद। getconf ARG_MAXवह नंबर दिखाएगा।
slhck

आह मेरी समस्या अब यह है कि मैं इस आदेश का उपयोग एक एप्सस्क्रिप्ट में कर रहा हूं, और उस फाइल की सामग्री को पढ़ने के लिए परिणाम का उपयोग कर रहा था। लेकिन अब परिणाम में तारीख की जानकारी होती है, न कि केवल फ़ाइल नाम: शेल स्क्रिप्ट करना "do / Users / akw / Library / Preferences / ByHost / -name 'com.apple.windowserver *' -print0 | xarf -0 ls -tl | -1 "यह लौटाता है ->" -rw ------- @ 1 akw कर्मचारी 5512 Jun 19 07:52 /User/akw/Library/Preferences/ByHost//com.apple.windowserver.1FC3/841-2C0C- 5F48-B746-1DEE064F6D12.plist "
zadam

@ ज़ादम तो ls -tइसके बजाय का उपयोग करें ls -tl-lआप तिथियों सहित एक लंबे सूची देता है। मुझे नहीं पता था कि आप वास्तव में क्या करने की कोशिश कर रहे हैं, तो इसके लिए खेद है - मुझे लगता है कि आप इसे भी देखना चाहेंगे mtime
18'11
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.