Possible Duplicate:
How can I use inverse or negative wildcards when pattern matching in a unix/linux shell?सूची सभी फ़ाइलें चयनकर्ता से मेल नहीं खाते (ls का उपयोग कर)
मैं ls
के लिए man
पेज पढ़ा है, और मैं यह सब कर नहीं सूची फ़ाइल चयनकर्ता से मेल विकल्प नहीं मिल सकता है । क्या आप जानते हैं कि इस ऑपरेशन को कैसे करें?
उदाहरण के लिए: कहना मेरी निर्देशिका यह है की सुविधा देता है:
> ls
a.txt b.mkv c.txt d.mp3 e.flv
अब मैं निम्नलिखित
> ls -[SOME_OPTION] *.txt
b.mkv d.mp3 e.flv
कुछ है कि नहीं करता है करना चाहते हैं वहाँ इस तरह के एक विकल्प है?
यदि नहीं, तो ls
के आउटपुट को अन्य फ़ंक्शन (संभवतः sed
) पर आउटपुट करने का कोई तरीका है जो केवल मुझे दिखाएगा?
मैं बिल्कुल ऐसा करने के तरीके पता नहीं, लेकिन मैं इसे की तरह कुछ होगा की कल्पना कर रहा हूँ:
> ls | sed [SOMETHING]
मैं वास्तव में sed
, awk
, और grep
उपयोग करने के लिए कैसे सीखना चाहिए, लेकिन मैं रखना Regexes लिखने के तरीके को समझने पर अटक गया। मैं नियमित अभिव्यक्तियों की अवधारणा को स्पष्ट रूप से समझता हूं, लेकिन मैं विभिन्न वाक्यविन्यास का उपयोग करने वाले रेगेक्स के बीच भ्रमित हो जाता हूं।
किसी भी मदद की बहुत सराहना की जाएगी!
संपादित करें:
मैं भूल गया था कि मैं मैक ओएस एक्स चला रहा हूँ, इसलिए कार्यों लोगों यूनिक्स/लिनक्स खोल के लिए अन्य उत्तर में चर्चा (इसलिए मेरी भ्रम में से कुछ से थोड़ा अलग हो सकता है उल्लेख करने के लिए sed
, awk
, और grep
के साथ)।
यह' पथ 'पैरामीटर के रूप में कई अलग-अलग चयनकर्ताओं के साथ अच्छी तरह से काम करता है धन्यवाद! एक चीज़ जो मैंने पाया वह था कि मैं 'ढूंढ सकता हूं। -मैक्सडेपथ 1! -पैथ "* txt" ' अब अगर मुझे सूची फ़िल्टर करने के लिए रेगेक्स था तो मुझे क्या उपयोग करना होगा? –
आप Regex का उपयोग करना चाहते हैं, grep का उपयोग करें। ex। आपके पास 3 एबीसी जैसे "abc" हैं, ls | grep -v "[a | b]" का उपयोग करें, फिर यह c प्रदर्शित करेगा। और फिर यदि आपके पास 3 फाइलें aa aaaa हैं, "एलएस | का प्रयोग करें grep -v "a +", तो यह केवल "ए" प्रदर्शित करेगा। –
./ तर्क वैकल्पिक है क्योंकि कमांड पहले से ही मौजूदा निर्देशिका पेड़ से खोजना शुरू कर देता है – kante