कुछ एक्सटेंशन वाली फाइलें खोजें


67

मैं उन findसभी फ़ाइलों को खोजने के लिए कैसे उपयोग कर सकता हूं जिनके पास .xlsया .csvएक्सटेंशन है? मैंने एक -regexविकल्प देखा है लेकिन मुझे नहीं पता कि इसका उपयोग कैसे करना है।

जवाबों:


115

बस इसका उपयोग क्यों न करें:

find -name "*.xls" -o -name "*.csv"

इसके लिए आपको regex की आवश्यकता नहीं है।

यदि आप बिल्कुल regex का उपयोग करना चाहते हैं तो बस उपयोग करें

find -regex ".*\.\(xls\|csv\)"

8
मेरा इससे बेहतर जवाब। +1।
पॉल टॉम्बलिन

1
कोष्ठक से पहले बैकस्लैश की आवश्यकता क्यों है? मुझे पता है कि यह इसके बिना काम नहीं करता है, लेकिन ऐसा लगता है कि इसे करना चाहिए।

1
क्योंकि वे डिफ़ॉल्ट रूप से नियमित अभिव्यक्ति emacs हैं। उपयोग -regextype को बदलने के लिए।

4
बस रिकॉर्ड के लिए: मैं कभी याद नहीं कर सकता कि कौन से उपकरण चाहते हैं "(" समूह के लिए "और जो चाहते हैं" "("। मुझे हमेशा इसे जानने के लिए प्रयास करना होगा।
जोआचिम सॉर

1
रेगेक्स उदाहरण काम नहीं करता है
होस्टमास्टर

12
find . \( -name  \*.xls -o -name \*.csv \) -print

-O विकल्प के बारे में नहीं जानता था। धन्यवाद!

1
क्या इसे कोष्ठक की आवश्यकता है? खोजो। '' (-name * * .xls -o -name * .csv ')' - प्रिंट

@ एड्रियन - नहीं, यह नहीं है। मुझे यकीन नहीं है कि अगर यह गैर-जीएनयू पर ऐसे परिजनों की आवश्यकता होगी, जहां "-प्रिंट" पहले से ही डिफ़ॉल्ट कार्रवाई नहीं थी।
पॉल टॉम्बलिन

5
खैर, जीएनयू पाते हैं (ubuntu 11.04 पर डिफ़ॉल्ट) दोनों परनों और -प्रिंट या बिना (पार्न्स और -प्रिंट) के साथ सही ढंग से काम करता है। लेकिन find . -name \*.xls -o -name \*.csv -printआउटपुट केवल मैचिंग फाइल .csv,
bbaja42

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