मैक ओएस एक्स के मूल निवासी केवल टूल का उपयोग करके खाली (शून्य-बाइट) फ़ाइलों को ढूंढने और निकालने का सबसे आसान/सर्वोत्तम तरीका क्या है?खाली (शून्य-बाइट) फ़ाइलों को हटा रहा है
उत्तर
काफी आसान:
find . -type f -size 0 -exec rm -f '{}' +
xattr सामग्री (MacOS find
कार्यान्वयन कल्पना करते हुए) होने के लिए किसी भी फ़ाइल को अनदेखा करने के लिए:
find . -type f -size 0 '!' -xattr -exec rm -f '{}' +
कहा यही कारण है, ध्यान दें कि कई xattrs विशेष रूप से उपयोगी नहीं हैं (उदाहरण के लिए, com.apple.quarantine
सभी डाउनलोड की गई फ़ाइलों पर मौजूद है)।
find /path/to/stuff -empty
हैं कि फ़ाइलों को आप देख रहे हैं की सूची दी गई है तो आदेश बनाना:
find /path/to/stuff -empty -exec rm {} \;
सावधान रहें! इसे पूर्ववत करने का कोई तरीका नहीं होगा!
+ से अधिक उपयोग करने के लिए बेहतर; यदि आपके पास वर्तमान खोज है - इस तरह यह पाइपलाइन में होने पर xargs के तरीके से कार्य करता है। –
उपयोग:
find . -type f -size 0b -exec rm {} ';'
अन्य सभी संभव रूपांतरों के साथ सीमित करने के लिए क्या हट जाता है।
आप को चलाने के लिए/bin/द्वारा rm कांटे के संभावित बड़ी संख्या को कम कर सकते हैं:
find . -type f -size 0 -print0 | xargs -0 /bin/rm -f
उपरोक्त आदेश, बहुत पोर्टेबल है बल्कि सिर्फ लिनक्स बक्से से यूनिक्स के सबसे संस्करणों पर चल रहा है, और संस्करणों पर यूनिक्स के दशकों से वापस जा रहा है। लंबी फ़ाइल सूचियों के लिए, कमांड लाइन लंबाई सीमा को ओवरराइज करने से सूची को रखने के लिए कई /bin/rm
आदेश निष्पादित किए जा सकते हैं।
एक समान प्रभाव एक find
में +
का उपयोग कर एक शैली में xargs
का सबसे आम उपयोग को बदलने के लिए अभी भी /bin/rm
के अलावा अन्य कार्यों के लिए ही उधार देता है, और हाल ही में OSes पर कम लिखकर प्राप्त किया जा सकता। इस मामले में, find
अलग-अलग /bin/rm
कमांड में वास्तव में लंबी फ़ाइल सूचियों को विभाजित करने में संभाल लेंगे। {}
को शैल को कुछ भी करने से रोकने के लिए इसे उद्धृत किया गया है; उद्धरण हमेशा के लिए आवश्यक हैं नहीं लेकिन खोल के हवाले से की पेचीदगियों को भी यहाँ कवर करने के लिए शामिल हैं, इसलिए जब संदेह में, अक्षर लोप में शामिल हैं:
find . -type f -size 0 -exec /bin/rm -f '{}' +
लिनक्स में, खनन दृष्टिकोण आमतौर पर -delete
का उपयोग कर उपलब्ध हैं। ध्यान दें कि हाल ही में find
के -delete
प्राथमिक को सीधे unlink
(2) के साथ लागू किया गया है और यह zillion /bin/rm
कमांड, या यहां तक कि xargs
और +
कुछ भी नहीं करता है। मैक ओएस find
में -delete
और -empty
प्राइमरी भी हैं।
find . -type f -empty -delete
खाली (और नव खाली कर दिया) फ़ाइलें stomp करने के लिए - निर्देशिका के रूप में अच्छी तरह से - कई आधुनिक लिनक्स मेजबान यह कुशल दृष्टिकोण का उपयोग कर सकते हैं:
find . -empty -delete
+1 यह बेहतर उत्तर है। –
यह _does_ पोर्टेबिलिटी में सुधार, अनुमोदित - लेकिन 'find -exec ... {} + 'केवल लिनक्स से परे उपलब्ध है। तत्काल बंद, दोनों Solaris 11 और ओएस एक्स खोजने के लिए POSIX विनिर्देश के इस हालिया जोड़े का समर्थन करते हैं (1003.1 के अंक 6 में जोड़ा गया)। –
'+' वाक्यविन्यास कम पोर्टेबल है, लेकिन अभी भी सुंदर पोर्टेबल है। यह निश्चित रूप से कई * पुराने * यूनिक्स पर उपलब्ध नहीं है जो * करते हैं * 'xargs' है। 'xargs'' + 'से भी अधिक लचीला है, हालांकि उस अतिरिक्त फ्लेक्स की आवश्यकता की आवृत्ति वास्तव में कम है। हालांकि, मैं '+' फॉर्म जोड़ दूंगा। –
- 1. अस्थायी ASP.Net फ़ाइलों को हटा रहा है
- 2. JSON Serialization - खाली कुंजियों को हटा रहा है
- 3. डेटा फ़ाइलों से गैर-ASCII वर्णों को हटा रहा है
- 4. SQL सर्वर xp_delete_file फ़ाइलों को हटा नहीं रहा
- 5. स्ट्रिंग से संख्याओं को हटा रहा है?
- 6. गिट रिपोजिटरी गिटोलाइट को हटा रहा है?
- 7. mysql_real_escape_string पूरे स्ट्रिंग को हटा रहा है
- 8. phpMyAdmin एक सूचकांक को हटा रहा है
- 9. jQuery Accordion आइटम को हटा रहा है
- 10. ActiveAdmin संसाधनों को हटा रहा है
- 11. jquery.ValidationEngine - त्रुटि पॉपअप को हटा रहा है
- 12. स्ट्रिंग से सबस्ट्रिंग को हटा रहा है?
- 13. विंडो सीमा को हटा रहा है?
- 14. गिट: एक फ़ाइल को संस्करणित करने से हटा रहा है, लेकिन इसे हटा नहीं रहा है
- 15. जीवाश्म: एक कमांड में लापता फाइलों को हटा रहा है?
- 16. xsl: स्ट्रिप-स्पेस कैरिज रिटर्न को हटा नहीं रहा है
- 17. संस्करण नियंत्रण से इंटेलिजे परियोजना को हटा रहा है
- 18. Mercurial MQ पैच से फ़ाइल को हटा रहा है
- 19. एक्सकोड परियोजना से स्थानीय गिट रिपोजिटरी को हटा रहा है?
- 20. अंतिम बैश स्क्रिप्ट तर्क को हटा रहा है
- 21. जावा के साथ लॉक की गई फ़ाइलों को हटा रहा है?
- 22. एक्सेल: सूत्रों को हटा रहा है लेकिन उत्तरों को
- 23. फ़ाइल। फ़ाइल को हटा नहीं रहा
- 24. जेपीए वनटोनी बच्चे को हटा नहीं रहा
- 25. glDeleteTextures बनावट को हटा नहीं रहा
- 26. ElementTree findall() खाली सूची लौट रहा है
- 27. FragmentStatePagerAdapter खंडों को हटा नहीं रहा है यदि पैरेंट खंड हटा दिया गया है
- 28. संकल्प BundleUrl सभी फ़ाइलों को हल नहीं कर रहा है?
- 29. फ़ाइल से नियंत्रण कक्ष हटा रहा है
- 30. डाउनलोड कर रहा है फ़ाइलों
कृपया स्पष्ट! एक फ़ाइल जो खाली है, सभी खाली फाइलें? आपने क्या प्रयास किया है, त्रुटियां कहां हैं? – hop
मेरे उत्तर पर एक टिप्पणी ने प्रश्न स्पष्ट किया; उचित अद्यतन। –
चार्ल्स डफी धन्यवाद। मेरी बुरी अंग्रेजी के लिए खेद है: पी – Bank