जवाबों:
सबसे पहले ध्यान दें कि आमतौर पर खाली निर्देशिकाओं को हटाना आवश्यक नहीं है। कुछ सेवाओं या अनुप्रयोगों को मौजूद होने के लिए कुछ निर्देशिकाओं की आवश्यकता हो सकती है। आप जो कर रहे हैं उससे अवगत रहें।
आप find
टर्मिनल से खाली फ़ोल्डर की सूची बना सकते हैं।
find . -type d -empty
डिफ़ॉल्ट रूप से find
फ़ाइलों और फ़ोल्डरों को सूचीबद्ध करता है, लेकिन यहां, -type d
इसे निर्देशिकाओं में प्रतिबंधित करता है, और -empty
विकल्प केवल खाली निर्देशिका दिखाता है। यह आपके होम डायरेक्टरी ( या शॉर्ट, ) से उतरने वाले सभी फ़ोल्डरों को रिकवर करेगा । अपने संपूर्ण फ़ाइल सिस्टम में इसका विस्तार करने के लिए, उपयोग करें:/Users/your-username/
~
find / -type d -empty
यहां, /
आपके Mac OS X फ़ाइल सिस्टम के रूट को दर्शाता है। आप निश्चित रूप से किसी भी अन्य प्रारंभिक बिंदु का उपयोग कर सकते हैं, उदाहरण के लिए आपकी बाहरी डिस्क के नीचे घुड़सवार ;/Volumes/your-disk-name
find /Volumes/your-disk-name -type d -empty
अब, यदि आप जो कुछ भी find
आउटपुट हटाना चाहते हैं, तो बस -delete
, जैसे कि:
find . -type d -empty -delete
नोट: यह पुष्टि के लिए नहीं कहेगा । यह उन सभी निर्देशिकाओं को हटा देगा जिन्हें आप हटा सकते हैं। उन्हें कूड़ेदान में नहीं ले जाया जाएगा, लेकिन हमेशा के लिए चला जाएगा। यदि आप हटाने से पहले पूछा जाना चाहते हैं, तो कमांड को निम्नलिखित की तरह बदलें:
find . -type d -empty -exec rm -ri '{}' \;
illegal option -- t
type
और empty
पहचानने में सक्षम नहीं होता है।
find
को एक पथ की आवश्यकता है, इसलिए पुन: प्रयास करें find . -type d
, नहीं find -type d
(GNU के लिए उत्तरार्द्ध काम करता है find
)।
find
ऊपर इसी तरह उपयोग करके की जा सकती हैं), और फिर शेष खाली निर्देशिकाओं को हटाने के लिए सुझाए गए कमांड का उपयोग करें।
मैंने एक छोटा और मुफ्त कार्यक्रम बनाया है जो इसे बेहतर बनाता है:
http://www.macupdate.com/app/mac/52551/find-empty-folders
इस कार्यक्रम का लाभ यह है कि यह उन फ़ोल्डरों को भी खोजता है जो स्पष्ट रूप से खाली हैं लेकिन इनमें अदृश्य ".DS_Store" फाइल है।
और यह आपको मिली वस्तुओं को तुरंत ट्रैश में ले जाने की सुविधा देता है।
find ~/Documents -type f -name 'Icon?' -print -delete;
इस प्रयास को आगे बढ़ाने के लिए:
मैंने एक स्क्रिप्ट बनाई जिसका उपयोग मैं समय-समय पर अपने दस्तावेज़ फ़ोल्डर को साफ करने के लिए करता हूं, क्योंकि मैं ओसीडी के लिए रास्ता हूं और एपीपी अतिभारित और सादगी की तरह थक गया हूं।
मैंने इसे वैकल्पिक समाधान में सुधार और प्रदान करने के प्रयास में बनाया है।
अंत में, @ kenche की आइकॉन फाइल के लिए, यह मेरे मैक पर मौजूद नहीं है क्योंकि मैंने अपने फोल्डर आइकन को संशोधित नहीं किया है, लेकिन आप निरीक्षक में कर सकते हैं। किसी चित्र को ऊपर बाईं ओर खींचने पर यह Icon^M
उस निर्देशिका पर फ़ाइल बना देगा ।
उन लोगों को खोजने के लिए जिन्हें आप चला सकते हैं:
(यदि आपको एक झूठी सकारात्मक मिल रही है, तो इसके बारे में पागल होना चाहिए: + के बजाय ctrl+ का उपयोग करें?)v ctrlm
find ~/Documents -type f -name 'Icon?' -print;
# and to remove
find ~/Documents -type f -name 'Icon?' -print -delete;
जैसा कि @slhck ऊपर कहा गया है: कुछ सेवाओं या अनुप्रयोगों को भी मौजूद होने के लिए कुछ निर्देशिकाओं की आवश्यकता हो सकती है। यह DS_Store और Icon फ़ाइलों पर भी लागू होता है, कृपया ध्यान रखें कि आप क्या कर रहे हैं। यह भी नोट करें: यह स्क्रिप्ट पुष्टिकरण नहीं मांगेगा। यह सभी निर्देशिकाओं को हटा सकता है। यानी जहां आपको हटाने की अनुमति है। उन्हें कूड़ेदान में नहीं ले जाया जाएगा, लेकिन हमेशा के लिए चला जाएगा।
#!/bin/bash
# =============================================================================
# MAC OSX HIGH SIERRA 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================
# Terminal CLEAN UP YOUR DOCUMENTS FOLDER.
# =============================================================================
# START WHAT IS BELIEVED TO BE EMPTY NOW.
# =============================================================================
echo 'Searching Documents for empty folders...'
find ~/Documents -type d -empty;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS DS_Store FILES
# =============================================================================
echo 'Searching Documents for DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print;
echo 'Removing DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print -delete;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS ZERO SIZED FILES
# =============================================================================
echo 'Searching Documents for ZERO file sized files...'
find ~/Documents -type f -empty;
echo 'Removing ZERO file sized files...'
find ~/Documents -type f -empty -delete;
# =============================================================================
# SHOW & THEN REMOVE Icon^M FILES
# USE THE ? MARK FOR EASE OF USE YOU CAN ALSO SUB 'CTRL + V & CTRL + M' FOR ^M
# =============================================================================
echo 'Searching Documents for Icon files...'
find ~/Documents -type f -name 'Icon?' -print;
echo 'Removing Icon files from Documents...'
find ~/Documents -type f -name 'Icon?' -print -delete;
# SEEMINGLY THE SAME AS
# find ~/Documents -type f -size 0 -print
# find ~/Documents -type f -size 0 -print -delete
# =============================================================================
# SHOWCASE NEW FOUND EMPTY FOLDERS
# =============================================================================
echo 'Showcasing new result of existing and new found empty folders...'
find ~/Documents -type d -empty;
echo 'Deleting result of empty folders...'
find ~/Documents -type d -empty -delete;
echo 'Showcasing the removal of said, 'empty folders'...'
find ~/Documents -type d -empty;
स्क्रिप्ट का अंत।
GitHub पर यहां स्क्रिप्ट देखी जा सकती है
उन आइकन के बारे में जो आपके मैक पर फ़ाइलों का प्रतिनिधित्व करते हैं
सभी फ़ोल्डर्स को हटाने का कोई तरीका जो केवल .DS_Store को पुनरावृत्ति करता है?
केवल ".DS_Store" वाले फ़ोल्डर और सबफ़ोल्डर खोजें
उपनिर्देशिका सहित निर्देशिका में सभी शून्य-बाइट फ़ाइलों को खोजने के लिए कैसे