एक्सटेंशन के बिना सभी फ़ाइलों को ढूंढें और हटाएं एक फ़ोल्डर और उसके सबफ़ोल्डर्स को मिटा दें


16

मेरे पास लगभग 500 उपनिर्देशिकाओं के बिना एक फ़ोल्डर है। इसमें बहुत कचरा पाया जाता है और मैं इसे साफ करना चाहता हूं।

मैंने इस कमांड के साथ पहले से ही कुछ फिल्म्स को हटा दिया है, जो मुझे नहीं चाहिए, जैसे कि चित्र,

find . -mindepth 1 -iname "*.jpg" -type f -delete

हालाँकि, मैं अब सभी एक्सटेंशन-लेस फ़ाइलों को हटाना चाहता हूं। "खरीदारी सूची" जैसी फाइलें "खरीदारी सूची.टेक्स्ट" से

मैंने निम्नलिखित कमांड की कोशिश की है, लेकिन यह काम नहीं किया:

find . -mindepth 1 ! -iname "*.*" -type f -delete

जवाबों:


20

इसे इस्तेमाल करे:

find . -type f  ! -name "*.*"  -delete

हालाँकि, ध्यान दें कि ऊपर दी गई फाइलें डिलीट नहीं होंगी जिनका नाम .उदाहरण के लिए समाप्त होता है foo.। उन लोगों को भी हटाने के लिए, इसके बजाय इसका उपयोग करें:

find . -type f  ! -name "*.?*" -delete

दूसरा कमांड मेरा अगला सवाल था। बहुत बहुत धन्यवाद! मैं find . -type f ! -name "*?.*" -delete".trash" या जो कुछ भी था उसे हटाने के लिए टाइप कर सकता हूं, जिसकी मुझे जरूरत नहीं थी। चिंता न करें - यह मेरी होम डायरेक्टरी नहीं थी, इसलिए मैंने कोई भी कॉन्फिग फाइल नहीं खोई।
आठवेंमन

5
@etsnyman -deleteविकल्प के बिना पहले कमांड का परीक्षण करने के लिए बेहतर है !
रादु राईडेनु

@etsnyman काफी नहीं है, एक डॉट के साथ शुरू होने वाली फ़ाइलों को हटाने के लिए, find . -type f -name ".*" -deleteअपनी पिछली टिप्पणी में एक का उपयोग करें , बिना एक्सटेंशन वाली फ़ाइलों को भी हटा देगा। और राडू ने क्या कहा! पहले परीक्षण!
टेराडन

@ RaduRădeanu मैंने वास्तव में इसे पहले खाली फाइलों के साथ एक डमी निर्देशिका पर परीक्षण किया ...
etsnyman

@terdon आपके दूसरे कमांड में प्रश्न चिह्न का क्या अर्थ है?
अविनाश राज

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