बाश में तार की तुलना कैसे करें

How Compare Strings Bash



विभिन्न प्रोग्रामिंग उद्देश्यों के लिए, हमें दो स्ट्रिंग्स के मान की तुलना करने की आवश्यकता है। दो स्ट्रिंग्स की समानता का परीक्षण करने के लिए कई प्रोग्रामिंग भाषाओं में बिल्ट-इन फ़ंक्शंस का उपयोग किया जाता है। आप बैश में दो स्ट्रिंग्स की समानता और असमानता की जांच कर सकते हैं अगर बयान। == समानता की जांच के लिए प्रयोग किया जाता है और ! = तारों की असमानता की जांच के लिए प्रयोग किया जाता है। आप आंशिक रूप से दो स्ट्रिंग्स के मानों की तुलना बैश में भी कर सकते हैं। आप बैश में स्ट्रिंग मानों की तुलना कैसे कर सकते हैं, इस ट्यूटोरियल में विभिन्न उदाहरणों का उपयोग करके दिखाया गया है।

उदाहरण -1: स्ट्रिंग तुलना == ऑपरेटरों का उपयोग कर

अन्य मानक प्रोग्रामिंग भाषा की तरह बैश में दो स्ट्रिंग मानों की समानता की जांच करने के लिए कोई अंतर्निहित तुलना फ़ंक्शन नहीं है। निम्नलिखित लिपि में, दो स्ट्रिंग चर, strval1 तथा strval2 घोषित कर रहे हैं। इन दो स्ट्रिंग चर की इक्विटी का परीक्षण पहले . का उपयोग करके किया जाता है अगर स्क्रिप्ट का बयान। का मूल्य strval1 दूसरे में समानता की जांच करने के लिए एक स्ट्रिंग मान के साथ तुलना की जाती है अगर बयान।







#!/बिन/बैश

strval1='उबंटू'
strval2='खिड़कियाँ'

#समानता दो स्ट्रिंग चर जांचें

अगर [ $ strval1==$strval2 ];फिर
फेंक दिया 'स्ट्रिंग बराबर हैं'
अन्यथा
फेंक दिया 'स्ट्रिंग बराबर नहीं हैं'
होना

#एक स्ट्रिंग मान के साथ एक चर की समानता की जाँच करें

अगर [ $ strval1=='उबंटू' ];फिर
फेंक दिया 'लिनक्स ऑपरेटिंग सिस्टम'
अन्यथा
फेंक दिया 'विंडोज ऑपरेटिंग सिस्टम'
होना

आउटपुट:



पहली तुलना समान नहीं है और दूसरी तुलना समान है।







उदाहरण -2: != ऑपरेटर का उपयोग करके स्ट्रिंग तुलना

निम्नलिखित उदाहरण में दो स्ट्रिंग चर की असमानता की जाँच की जाती है। यहाँ दो मान समान नहीं हैं। तो, यदि शर्त सत्य होगी और विंडोज ऑपरेटिंग सिस्टम प्रिंट करेगा।

#!/बिन/बैश

strval1='उबंटू'
strval2='खिड़कियाँ'

#स्ट्रिंग मान वाले चर की असमानता की जाँच करें

अगर [ $strval2 !='उबंटू' ];फिर
फेंक दिया 'विंडोज ऑपरेटिंग सिस्टम'
अन्यथा
फेंक दिया 'लिनक्स ऑपरेटिंग सिस्टम'
होना

आउटपुट:



उदाहरण -3: आंशिक स्ट्रिंग तुलना

आप बैश स्क्रिप्ट में वाइल्ड कार्ड कैरेक्टर का उपयोग करके आंशिक मूल्य की तुलना कर सकते हैं। निम्नलिखित लिपि में, * आंशिक मिलान के लिए वाइल्ड कार्ड कैरेक्टर के रूप में उपयोग किया जाता है। स्ट्रिंग चर, स्ट्रवाल शब्द शामिल है इंटरनेट। तो, पहला अगर स्क्रिप्ट का सच वापस आ जाएगा और प्रिंट आंशिक रूप से मिलान . बैश केस संवेदनशील है। इसके लिए द्वितीय अगर आंशिक स्ट्रिंग के रूप में इंटरनेट का उपयोग करने के लिए स्क्रिप्ट की झूठी वापसी होगी जो अक्षर वार तुलना के बराबर नहीं है।

#!/बिन/बैश

स्ट्रवाल='माइक्रोसॉफ्ट अंतर्जाल अन्वेषक'

अगर [[ $ स्ट्रवाल==*इंटरनेट* ]];
फिर
फेंक दिया 'आंशिक रूप से मिलान'
अन्यथा
फेंक दिया 'कोई मुकाबला नहीं'
होना

अगर [[ $ स्ट्रवाल==*इंटरनेट* ]];
फिर
फेंक दिया 'आंशिक रूप से मिलान'
अन्यथा
फेंक दिया 'कोई मुकाबला नहीं'
होना

आउटपुट:

उदाहरण -4: उपयोगकर्ता इनपुट मान के साथ स्ट्रिंग की तुलना करें

कभी-कभी, हमें प्रोग्रामिंग उद्देश्य के लिए विशिष्ट स्ट्रिंग मान के साथ उपयोगकर्ता द्वारा लिए गए स्ट्रिंग मान की तुलना करने की आवश्यकता होती है। निम्नलिखित उदाहरण में, उपयोगकर्ता से इनपुट के रूप में एक स्ट्रिंग डेटा लिया जाएगा और डेटा की असमानता की एक निश्चित मान के साथ तुलना की जाएगी। अगर शर्त सही है तो यह प्रिंट हो जाएगा कोई रिकॉर्ड नहीं मिला , अन्यथा यह प्रिंट हो जाएगा रिकॉर्ड मिला .

#!/बिन/बैश

फेंक दिया 'अपना नाम दर्ज करें'
पढ़नाइनपुट

अगर [ $इनपुट !='फहमीदा' ];
फिर
फेंक दिया 'कोई रिकॉर्ड नहीं मिला'
अन्यथा
फेंक दिया 'रिकॉर्ड मिला'
होना

आउटपुट:

इस पाठ का वीडियो यहाँ है:

उपरोक्त उदाहरणों को स्पष्ट समझ के साथ पूरा करने के बाद बैश में स्ट्रिंग तुलना कार्य आपके लिए आसान हो जाएगा।