सभी उपनिर्देशिकाओं में मिलान फ़ाइलें हटाएं


76

मैं लिनक्स के तहत अपने सभी उपनिर्देशिकाओं में सभी .swp फाइलें कैसे निकाल सकता हूं?


3
ट्रैश-क्ली जैसे कार्यक्रमों को देखने के लिए मत भूलना ताकि आप rm का उपयोग करने के बजाय, इसे हटाना रद्द कर सकें। code.google.com/p/trash-cli (आप नीचे दिए गए सभी उत्तरों में 'rm' को 'कचरा' से बदल देंगे।)

जवाबों:


136

वर्तमान निर्देशिका के नीचे सभी * .swp फाइलें निकालें, findनिम्न में से किसी एक रूप में कमांड का उपयोग करें :

  • find . -name \*.swp -type f -delete

    -deleteविकल्प सीधे मिलान फ़ाइलों को हटाने मिल का मतलब है। यह ओपी के वास्तविक प्रश्न का सबसे अच्छा मेल है। साधनों

    का उपयोग करके -type fकेवल फाइलों को प्रोसेस करना होगा।

  • find . -name \*.swp -type f -exec rm -f {} \;
    find . -name \*.swp -type f -exec rm -f {} +

    विकल्प -execप्रति फ़ाइल एक मनमाना कमांड निष्पादित करने की अनुमति देता है। पहला संस्करण फ़ाइल के अनुसार एक बार कमांड चलाएगा, और दूसरा संभव {}के रूप में कई मापदंडों के साथ प्रतिस्थापित करके संभव के रूप में कुछ कमांड चलाएगा ।

  • find . -name \*.swp -type f -print0 | xargs -0 rm -f

    आउटपुट को पाइपिंग के xargsरूप में अधिक जटिल प्रति फ़ाइल कमांड के रूप में उपयोग किया जाता है -exec। विकल्प -print0बताता findASCII शून्य के बजाय एक नई पंक्ति के साथ मैच को अलग करने, और -0कहता है xargsशून्य से अलग किए इनपुट अपेक्षा करनी चाहिए। यह व्हाईटस्पेस युक्त फाइलनाम के लिए पाइप निर्माण को सुरक्षित बनाता है।

man findअधिक विवरण और उदाहरणों के लिए देखें ।


16

find . -name '*.swp' -delete

खोजने के बाद हटाएं फ़ाइल नाम में एम्बेडेड स्थान के लिए किसी भी जोखिम को हटा दें, ... अतिरिक्त सुरक्षा के लिए भी -type fकेवल फ़ाइलों के लिए जोड़ने पर विचार करें।


4
find /path -type f -name "*.swp" -delete
find /path -type f -name "*.swp" -exec rm -f "{}" +;

बैश 4.0

shopt -s globstar
rm -f /path/**/*.swp

2

मेरी गृह निर्देशिका के अंतर्गत खोज के लिए (और GNU 'खोज' और 'xargs' का उपयोग करके), मैं उपयोग करूँगा:

find $HOME -name '*.swp' -print0 | xargs -0 rm -f

' -print0' और ' -0' का प्रयोग का अर्थ है कि नाम ASCII NUL '\ 0' वर्णों द्वारा सीमांकित किए जाएंगे, और यह नामों में रिक्त स्थान आदि के साथ फ़ाइल पथ को संभालेंगे। यदि आपको लगता है कि आपके पास '.swp' के साथ समाप्त होने वाली निर्देशिका के अंतर्गत निर्देशिका (या डिवाइस फ़ाइलें, या FIFOs, या अन्य गैर-फ़ाइलें) हो सकती हैं, तो आप 'खोज -type f' विकल्प को जोड़ सकते हैं । यदि आपके पास केवल निर्देशिकाएं हैं, तो ऊपर दिया गया आदेश उन्हें हटाने में विफल रहेगा।

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