मैं उन फ़ाइलों को हटाना चाहता था जो एक विशिष्ट फ़ोल्डर के भीतर 2 एमबी से अधिक थीं। इसलिए मैं भागा:
find . -size +2M
और मुझे दो फाइलों की सूची मिली
./a/b/c/file1
./a/f/g/file2
तो मैं तो चला:
find . -size +2M -exec rm ;
और मुझे त्रुटि संदेश मिलता है Find: missing argument to -exec
मैं मैन पेज में सिंटैक्स की जांच करता हूं और यह कहता है -exec command ;
इसलिए इसके बजाय मैं कोशिश करता हूं
find . -size +2M -exec rm {} +
और यह काम करता है। मैं समझता हूँ कि {} rm file1 file2
इसके बजाय कमांड को निष्पादित करते हैं rm file1; rm file2;
।
तो पहले एक काम क्यों नहीं किया?
उत्तर:
मुझे लगता है मैं अंत में यह समझने के लिए कि मुझे क्या कहना है, आरटीएफएम के लिए बस कुछ समय था। भले ही पहला उदाहरण {} न दिखा हो, लेकिन सभी मामलों में ब्रेस की आवश्यकता होती है। और फिर या तो जोड़ें; या + इच्छित विधि पर निर्भर करता है। सिर्फ हेडिंग न पढ़ें। वर्णन भी पढ़ें। समझ गया।