उन सभी फ़ाइलों को सूचीबद्ध करें जिनमें एक्सटेंशन नहीं हैं


11

मैं एक निर्देशिका में सभी फाइलों को सूचीबद्ध करना चाहता हूं जिसमें एक्सटेंशन नहीं हैं।

उदाहरण के लिए:

$ ls
a.txt    b      c.pdf     d     e.png
$ ls -someOption
b       d

इसके बजाय मैं किस कमांड का उपयोग कर सकता हूं ls -someOption?


आमतौर पर यदि आप किसी कमांड के विकल्प जानना चाहते हैं, तो टर्मिनल में "मैन <कमांड>" लिखकर उसका मैन पेज पढ़ें। आदमी मैनुअल (मदद) के लिए खड़ा है। उदाहरण के
लिए-

@AadityaBagga इस मामले में, मैनुअल में जवाब नहीं मिला है।
वारबैंक

इस परिदृश्य में, क्या आप .gitignoreएक विस्तार पर विचार करते हैं ?
अमित नायडू

जवाबों:


14
shopt -s extglob ## enables extended globbing
ls !(*.*) ## matches every file except those containing a dot

आप पाएंगे कि ऐसा करने से आपको कार्यशील निर्देशिका में प्रत्येक निर्देशिका की सामग्री दिखाई देगी। यदि आप यह नहीं चाहते हैं, तो उपयोग करें:

ls -d !(*.*)

आप रख सकते हैं shopt -s extglobअपने में ~/.bashrcजब भी आप एक टर्मिनल खोलने यह सक्रिय है। डिफ़ॉल्ट उबंटू में पहले से ही एक लाइन है ~/.bashrc(13.04 पर मेरे लिए लाइन 29) जिसे आप इसे (और ग्लोबस्टार) सक्षम करने के लिए असहज कर सकते हैं।

शेल के विभिन्न ग्लोबिंग विकल्पों के बारे में अधिक जानकारी के लिए ग्रेग की विकि देखें । ध्यान दें कि यह lsकमांड के बजाय बैश शेल की एक संपत्ति है , इसलिए आप इसे अन्य कमांड के साथ उपयोग कर सकते हैं।

वैकल्पिक रूप से, आप उपयोग कर सकते हैं

ls --ignore='*.*'

या

ls -I '*.*'

... जो एक आंतरिक lsविकल्प है, लेकिन extglob को किसी भी मनमाना आदेश पर लागू किया जा सकता है और इसलिए मेरी राय में यह अधिक उपयोगी है।


1
ओपी ने यह उल्लेख नहीं किया है कि मुझे लगता है कि बैश कौन सा है। यदि यह ksh होता, तो किसी भी प्रकार के अतिरिक्त की आवश्यकता नहीं होती। डिफ़ॉल्ट रूप से, बस:ls !(*.*)
रनवे

1
@runrig आप काफी हद तक सही हैं, लेकिन प्रश्न की मूल प्रकृति को देखते हुए मुझे लगा कि ओपी डिफ़ॉल्ट बैश शेल का उपयोग कर रहा है।
२३

10

दोनों ls | grep -v \\.और ls | grep -v "\."काम करता है।

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