मैं एक dotfile पर `ls` कैसे कर सकता हूं?


0

एक बिंदु पर ls

मेरी निर्देशिका में शामिल हैं:

$ ls -A    
.dotfile20091021   file20091020       file20091021

मैं उनके नाम की 20091021 वाली सभी फाइलों को सूचीबद्ध करना चाहता हूं।

अगर मैं चला:

$ ls -A *20091021*    
file20091021

अगर मैं चला:

$ ls -A .*20091021*    
.dotfile20091021

क्या मुझे एक ही "ls" कमांड में दोनों फाइलें मिल सकती हैं?


कभी heard क्रेप ’के बारे में सुना है?
टिम पोस्ट

जवाबों:


1

इस लिंक के अनुसार ग्लोब डॉट फाइल्स के लिए एक बैश ऑप्शन है:

shopt -s dotglob

यदि आप बैश का उपयोग करते हैं तो उसके बाद आपको बस इतना करना होगा:

ls -A *20091021*

(यहां इसका परीक्षण नहीं कर सकते)


4
ls -A1 | grep "20091021"

मुझे लगता है कि यह शायद सबसे अच्छा है, क्योंकि यह केवल sstandard ls आउटपुट पर निर्भर करता है, और grep टूल, जो दोनों व्यापक रूप से उपलब्ध हैं। JF
jfmessier

2

आप बस कर सकते हैं

ls -a *20091021 .*20091021

(अपने अनुरोध पर सख्ती से चिपकाते हुए कि आप इसे एक ही में करना चाहते हैं ls)


1
यह गोला विस्तार के लिए शेल पर निर्भर करता है।
टिम पोस्ट

/ bin / श distro से, बहुत सी बातें को इंगित distro के लिए :) कर सकते हैं
टिम पोस्ट

यह इतना नहीं है कि यह इतना काम नहीं कर सकता क्योंकि यह त्रुटि दे सकता है अगर ग्लोब कुछ भी मेल नहीं खाता है।
मैथ्यू शार्ले

0

ग्लोब विस्तार करने के लिए आप पर निर्भर कर रहे हैं (जो भी खोल आप उपयोग कर रहे हैं)।

ls -lah | grep \.foo

.. हो सकता है कि आप इसे पोर्टेबल तरीके से सुलझाने में मदद करें।

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

user@tower:~ ls -lah | grep \.mozilla
drwx------  3 root root 4.0K 2007-11-14 06:17 .mozilla
user@tower:~    

निहारना, पाइप की शक्ति :) जो पाठक के लिए एक व्यायाम है उसका विस्तार करना। shopt पोर्टेबल नहीं है और ऐसे सिस्टम पर है जो कड़ाई से POSIX खोल (जैसे डैश) का उपयोग करता है। इसे बस और बेहतर तरीके से लिखना बेहतर है .. या आप अपनी कोशिश की गई और सच्ची स्क्रिप्ट को किसी अन्य डिस्ट्रो को चलाने वाले बॉक्स में अपलोड करेंगे और इसे तोड़कर, भयानक रूप से देखेंगे।

नायब, प्रत्येक शेल अपने तरीके से ग्लोब विस्तार करता है, मोटे तौर पर इसके लाइसेंस से निर्धारित होता है। प्लीज, प्लीज, प्लीज बाशिन्दों से बचिए। उबंटू ने अपने उत्पाद में उन लोगों से छुटकारा पाने के लिए हजारों डॉलर खर्च किए।

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