नेट पर इन सवालों के बहुत सारे हैं, लेकिन मैं इस सरल समस्या को हल करने में असमर्थ था।
मेरे पास बहुत सारी छवियों के साथ एक निर्देशिका है, लेकिन मैं केवल संख्याओं की श्रेणी के आधार पर उनमें से एक सबसेट की प्रतिलिपि बनाना चाहता हूं। प्रत्येक चित्र का प्रारूप है: " [random characters][capture number].BMP
"
उदाहरण के लिए: IZ000561.BMP
मैं इसके साथ संयोजन के रूप में उपयोग कर रहा हूं find
और यह -regex
विकल्प।
मेरे द्वारा उपयोग की जाने वाली नियमित अभिव्यक्ति सरल थी:
.*(26[2-7]|27[0-2]).*
अगर मैं [262-267], [270-272] के टैग के साथ चित्रों का मिलान करना चाहता था। हालांकि यह दृष्टिकोण विफल रहा। मैं एक ऑनलाइन गया regex परीक्षक और सभी इस अभिव्यक्ति का उपयोग करके अपेक्षा के अनुरूप थे ऐसा होना ही चाहिए find
रेगेक्स इंजन इस तरह के फ़िल्टरिंग के लिए एक अलग प्रारूप की उम्मीद करता है।
पूरी कमांड जो मैं उपयोग कर रहा था:
find /path/to/images/ -regex ".*(26[2-7]|27[0-2]).*" -exec echo {} \;
मैं जो करने की कोशिश कर रहा हूं, उसके लिए एक वैध अभिव्यक्ति क्या है?
.BMP
विस्तार, इसलिए यह करने का एक शानदार तरीका है। मैंने रेगेक्स प्रकार को बदलने के तर्क पर ध्यान दिया, लेकिन इसका उपयोग करने के लिए मैनुअल में कोई उदाहरण नहीं थे, या मान्य नहीं थे प्रकार इस स्विच के साथ उपयोग करने के लिए। धन्यवाद!