मैं ग्लोबिंग पैटर्न और वाइल्डकार्ड के साथ आया हूं और मेरे लिए विशेष रुचि है [!]
।
इस निर्माण के लिए समान है
[!]
, सिवाय इसके बजाय कोष्ठक के अंदर कोई भी वर्ण मिलान से, यह किसी भी चरित्र की भरपाई करेंगे जब तक यह के बीच सूचीबद्ध नहीं है, निर्माण[
और]
।
rm myfile [!192]
ऊपर मेरा मानना है कि किसी भी / सभी फाइलों को छोड़कर कोई भी / सभी फाइलें हटा दें, जिनके नाम पर 192 हैं।
हालाँकि, एक फ़ाइल एक्सटेंशन के साथ और विशेष रूप से कई स्थितियों में इसके उचित उपयोग के बारे में मैं चिंतित हूं।
ऐसी स्थिति में उचित वाक्यविन्यास क्या होगा?
rm myfile [!.gif .csv. mp3]
या
rm myfile [!.gif !.csv !.mp3]
मेरी चिंता यह है कि अवधि गलत हो सकती है, और इसलिए किसी भी फाइल के साथ .
(जो कि उनमें से कोई भी निश्चित रूप से होगा?) तब हेरफेर किया जाएगा, जब मैं विशिष्ट फ़ाइलों के हेरफेर का कारण बन रहा हूं।
इस निर्माण के लिए समान है [ ]
, सिवाय इसके बजाय कोष्ठक के अंदर कोई भी वर्ण मिलान से, यह किसी भी चरित्र की भरपाई करेंगे जब तक यह के बीच सूचीबद्ध नहीं है, निर्माण [
और ]
।
( http://www.tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm से उद्धृत )
अभी; मुझे पता चलता है कि तब एक विलक्षण !
पर्याप्त है, और उसके बाद के सभी मान सीमा के भीतर समाहित हैं।
[!]
है लेकिन ऐसा नहीं है[!]
^
जैसा सटीक अर्थ !
है, इसलिए बिल्कुल वैसा ही [^a]
शामिल नहीं है: यदि पहला अक्षर निम्नलिखित है [a! या ^ तब संलग्न किसी भी वर्ण का मिलान नहीं होता है। ( )a
[!a]
man bash
rm myfile [!192]
निकाल देंगे myfile
, साथ ही किसी भी एकल चरित्र फ़ाइल का नाम नहीं 1
, 9
, या 2
।
ls my-pattern
याecho my-command
जाँच करें कि क्याrm