एंड्रॉयड

कैसे जांचा जाए कि किसी स्ट्रिंग में बैश में सबस्ट्रिंग है या नहीं

Sew Many Sewing Hacks and Sew Little Time to Learn Sewing Techniques!

Sew Many Sewing Hacks and Sew Little Time to Learn Sewing Techniques!

विषयसूची:

Anonim

बैश में स्ट्रिंग्स के साथ काम करते समय सबसे आम संचालन में से एक यह निर्धारित करना है कि क्या एक स्ट्रिंग में एक और स्ट्रिंग है या नहीं।, हम आपको यह जांचने के कई तरीके दिखाएंगे कि क्या स्ट्रिंग में एक विकल्प है।

वाइल्डकार्ड का उपयोग करना

सबसे आसान तरीका है तारांकन चिह्न वाइल्डकार्ड प्रतीकों (तारांकन) * साथ घेरना और स्ट्रिंग के साथ तुलना करना। वाइल्डकार्ड एक प्रतीक है जिसका उपयोग शून्य, एक या अधिक वर्णों का प्रतिनिधित्व करने के लिए किया जाता है।

यदि परीक्षण true , तो स्ट्रिंग में सबस्ट्रिंग निहित है।

नीचे दिए गए उदाहरण में हम if स्टेटमेंट और इक्वैलिटी ऑपरेटर ( == ) का उपयोग कर रहे हैं यह जांचने के लिए कि स्ट्रिंग SUB में सब्बलिंग SUB पाया गया है:

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi

जब स्क्रिप्ट निष्पादित किया जाएगा:

It's there.

केस ऑपरेटर का उपयोग करना

यदि आप स्टेटमेंट का उपयोग करने के बजाय केस स्टेटमेंट का उपयोग यह जांचने के लिए भी कर सकते हैं कि क्या एक स्ट्रिंग में एक और स्ट्रिंग शामिल है या नहीं।

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' case $STR in *"$SUB"*) echo -n "It's there.";; esac

रेगेक्स ऑपरेटर का उपयोग करना

यह निर्धारित करने के लिए एक अन्य विकल्प कि क्या स्ट्रिंग के भीतर एक निर्दिष्ट सबस्ट्रिंग होता है, रेगेक्स ऑपरेटर =~ का उपयोग करता है। जब इस ऑपरेटर का उपयोग किया जाता है, तो सही स्ट्रिंग को एक नियमित अभिव्यक्ति माना जाता है।

एक तारांकन के बाद की अवधि .* शून्य या अधिक घटित होता है किसी भी चरित्र को छोड़कर एक नया चरित्र।

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi

स्क्रिप्ट निम्नलिखित प्रतिध्वनित होगी:

It's there.

ग्रेप का उपयोग करना

Grep कमांड का उपयोग दूसरे स्ट्रिंग में स्ट्रिंग्स को खोजने के लिए भी किया जा सकता है।

निम्नलिखित उदाहरण में, हम स्ट्रिंग $STR को इनपुट और grep के इनपुट के रूप में पास कर रहे हैं, यदि स्ट्रिंग स्ट्रिंग में इनपुट $SUB पाया जाता है। आदेश true या false को उचित रूप में लौटाएगा।

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if grep -q "$SUB" <<< "$STR"; then echo "It's there" fi

-q विकल्प आउटपुट को छोड़ने के लिए grep को शांत बताता है।

निष्कर्ष

यह जांचना कि क्या स्ट्रिंग में एक स्ट्रिंग शामिल है, बैश स्क्रिप्टिंग में सबसे बुनियादी और अक्सर उपयोग किए जाने वाले ऑपरेशनों में से एक है।

इस ट्यूटोरियल को पढ़ने के बाद, आपको इस बात की अच्छी समझ होनी चाहिए कि कैसे टेस्ट किया जाए कि एक स्ट्रिंग में एक और स्ट्रिंग शामिल है या नहीं। आप परीक्षण के लिए awk या sed जैसी अन्य कमांड का भी उपयोग कर सकते हैं।

बश टर्मिनल