एक्सटेंशन के बिना फ़ाइलें खोजें


43

मान लीजिए कि मेरे पास है:

foo.txt
bar
baz.ooo

अगर मैं उपयोग करता हूं ls -1 !(*.*)तो मुझे barआउटपुट पर ही मिलेगा । महान, अब मैं खोज के साथ एक ही परिणाम की कामना करता हूं - कुछ find -regexजो काम करेंगे।

ध्यान दें:

find -name !(*.*)इसका जवाब नहीं है क्योंकि !(*.*)यह अभी भी बैश का गोला है जिसका मैं उपयोग नहीं कर सकता।

जवाबों:


64

आप उपयोग कर सकते हैं: निम्न अभिव्यक्ति find . -type f ! -name "*.*" को !नकारता है, यहाँ एक फ़ाइल नाम जिसमें '' है।

आप -maxdepthखोज गहराई को कम करने के लिए विकल्प का भी उपयोग कर सकते हैं ।


1
मुझे आपका उत्तर सबसे ज्यादा पसंद है क्योंकि मेरे पास फिल्म के लिए कुछ और अड़चनें हैं और आपका बुलेट प्रूफ है।
pawel7318

यह भी बहुत अच्छा है जब ls -1 !(*.*)काम नहीं करेगा क्योंकि !"इवेंट नहीं मिला।"
नूमेनन

2
@ नौमेन उस set +Hको हल करने के लिए करते हैं
pawel7318

1
यदि आप .gitignoreएक्सटेंशन के बिना एक फ़ाइल के रूप में व्यवहार करते हैं (जैसे नोड का पाथ.नेक्स्ट ()), तो ! -name "?*.*"इसके बजाय का उपयोग करें! -name "*.*"
जॉनी वोंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.