मैं पैटर्न से मेल खाने वाली सभी फ़ाइलों को कैसे निकालूं?


76

जब मैं मर्क्यूरियल में वापस आता हूं, तो यह कई .origफाइलें छोड़ देता है। मैं उन सभी को हटाने के लिए एक कमांड चलाने में सक्षम होना चाहूंगा।

मुझे कुछ स्रोत मिले हैं जो कहते हैं:

rm **/*.orig

लेकिन यह मुझे संदेश देता है:

rm: नहीं हटा सकते हैं * * / .orig ': ऐसी कोई फ़ाइल या निर्देशिका नहीं

मैंने भी कोशिश की है:

  • rm -rv *.orig

  • rm -R *\.orig


एक पर नजर डालें superuser.com/a/699287/92334
Lu55

जवाबों:


148

findकमांड का उपयोग करें (देखभाल के साथ!)

find . -name '*.orig' #-delete

मैंने डिलीट कमांड पर टिप्पणी की है लेकिन एक बार जब आप इसे मिलान कर रहे हैं तो खुश हैं, बस #लाइन से हटा दें और इसे उन सभी फ़ाइलों को हटा देना चाहिए।


क्या वह पुनरावर्ती कार्य करता है?
फ्रैंक बारकेन

2
@FrankBarcenas हाँ - लगता है कि सब कुछ पुनरावृत्ति करता है। यदि आप यह सीमित करना चाहते हैं कि यह कैसे काम करता है, तो आप -maxdepthया -mindepthतर्क के साथ खेल सकते हैं ।
ओली

6
झंडे -deleteके अंत में निश्चित रूप से छोड़ दें । find . -delete -name '*.orig'फ़िल्टर को अनदेखा करेगा और आपकी पूरी निर्देशिका को क्लॉबर करेगा।
माइकल

1
@ मिचेल, हाँ। मैं पहले से ही के साथ समस्या हलgit clean -fdx
KYB

1
@kamal मैं शायद अभी भी अपने -regexया -iregexविधेय के साथ मिल का उपयोग करेंगे । पार्सिंग फ़ाइलनाम (जब आप उन्हें चारों ओर पाइप कर रहे हों) कभी-कभी सुरक्षित रूप से करना मुश्किल हो सकता है।
ओली

6

"खोज" में सभी या वर्तमान निर्देशिकाओं और आरएम फाइलों के माध्यम से खोज करने के लिए कुछ बहुत ही उन्नत तकनीकें हैं।

find ./ -name ".orig" -exec rm -rf {} \;

3
उपयोग करने पर क्या लाभ है -delete?
मूरू

@ मुझे लगता है कि यदि आप निकालते हैं तो आपको प्रत्येक फ़ाइल के लिए संकेत मिलेगा।
पीटर

@ पेटर जरूरी नहीं। फिर भी, ऐसा? उत्तर का उपयोग करता है -rf, और findहै -ok
मुरु जू १२'१६

@ एमरू ऐसा लगता है कि -delete फ़ोल्डर को नहीं हटाता है
एंड्री करिवान्स्की

@AndriiKaraivanskyi जब तक विलोपन विफल नहीं होता, यह करता है।
मूरू

1

मैंने इस तरह से .nfs000000000 के साथ शुरू होने वाली सभी फाइलों को हटा दिया है

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