का उपयोग कर निष्पादन योग्य फ़ाइलों को ढूंढना मुझे एक स्क्रिप्ट लिखनी है जो निर्देशिका में सभी निष्पादन योग्य फ़ाइलों को पाती है। तो मैंने इसे लागू करने के कई तरीकों की कोशिश की और वे वास्तव में काम करते हैं। लेकिन मुझे आश्चर्य है कि ऐसा करने का एक अच्छा तरीका है या नहीं।ls और grep
तो यह मेरा पहला दृष्टिकोण था:
ls -Fla | grep \*$
यह ठीक काम करता है, क्योंकि एफ ध्वज मेरे लिए काम करता है और प्रत्येक निष्पादन योग्य फ़ाइल एक तारक को कहते हैं, लेकिन मान लीजिए कि मुझे पसंद नहीं है चलो तारांकन चिह्न
तो यह दूसरा दृष्टिकोण था:
ls -la | grep -E ^-.{2}x
यह भी ठीक काम करता है, मैं पहले चरित्र के रूप में एक पानी का छींटा चाहते हैं, तो मैं अगले दो अक्षरों में कोई दिलचस्पी नहीं है और चौथे चरित्र एक एक्स होना चाहिए ।
लेकिन आवश्यकताओं में थोड़ा अस्पष्टता है, क्योंकि मुझे नहीं पता कि मुझे उपयोगकर्ता, समूह या अन्य निष्पादन योग्य अनुमति की जांच करनी है या नहीं। तो यह काम करेगा:
ls -la | grep -E ^-.{2}x\|^-.{5}x\|^-.{8}x
तो मैं चौथा, सातवां और दसवां चरित्र एक्स का परीक्षण कर रहा हूं।
मैं केवल उन फ़ाइलों grep करना चाहते हैं, फिर भी एक लाइन के दस पहले अक्षर के द्वारा उत्पादित में कम से कम एक एक्स:
अब मेरी असली सवाल है, वहाँ regex के साथ ls और ग्रेप का उपयोग कर कहने के लिए एक बेहतर समाधान है ls -la
मदद मांगने से पहले वास्तव में किसी प्रकार का समाधान खोजने के लिए धन्यवाद। चूंकि आपको एलएस और जीईपी का उपयोग करने की आवश्यकता थी, ऐसा लगता है कि यह होमवर्क प्रश्न जैसा लगता है और मैं लोगों को होमवर्क के जवाब मांगने के बिना पूछता हूं (या कम से कम उनके प्रयासों का कोई विवरण नहीं)। मुझे पता है कि यह लगभग 4 साल बाद है, लेकिन फिर भी, अच्छी नौकरी। –