Bash स्क्रिप्टिंग में स्ट्रिंग से पहला अक्षर हटाना एक सामान्य कार्य है। यह लेख इसे प्राप्त करने के तीन कुशल तरीकों का पता लगाता है: sed
, cut
, और Bash के अंतर्निहित सबस्ट्रिंग विस्तार का उपयोग करना। प्रत्येक विधि अलग-अलग लाभ प्रदान करती है, जिससे आप अपने विशिष्ट संदर्भ के लिए सबसे उपयुक्त तकनीक का चयन कर सकते हैं।
विषयसूची
- पहला अक्षर हटाने के लिए
sed
का उपयोग करना - पहला अक्षर हटाने के लिए
cut
का उपयोग करना - पहला अक्षर हटाने के लिए सबस्ट्रिंग विस्तार का उपयोग करना
पहला अक्षर हटाने के लिए sed
का उपयोग करना
sed
कमांड, एक शक्तिशाली स्ट्रीम एडिटर, स्ट्रिंग्स में हेरफेर करने का एक लचीला तरीका प्रदान करता है। हम एक प्रतिस्थापन कमांड का उपयोग करके पहले अक्षर को हटा सकते हैं जो पहले अक्षर को कुछ भी नहीं से बदल देता है।
string="Hello World"
new_string=$(echo "$string" | sed 's/^.//')
echo "$new_string" # आउटपुट: ello World
यहाँ, ^
लाइन की शुरुआत से मेल खाता है, और .
किसी भी एकल वर्ण से मेल खाता है। s/^.//
मिलान किए गए वर्ण को एक खाली स्ट्रिंग से प्रतिस्थापित करता है। कमांड सब्स्टिट्यूशन $(...)
आउटपुट को कैप्चर करता है और इसे new_string
को असाइन करता है।
पहला अक्षर हटाने के लिए cut
का उपयोग करना
cut
कमांड, मुख्य रूप से फ़ाइलों से अनुभागों को निकालने के लिए उपयोग किया जाता है, का उपयोग स्ट्रिंग के प्रारंभिक वर्ण को हटाने के लिए भी किया जा सकता है।
string="Hello World"
new_string=$(echo "$string" | cut -c 2-)
echo "$new_string" # आउटपुट: ello World
cut -c 2-
दूसरी स्थिति (इंडेक्स 2) से अंत तक के वर्णों का चयन करता है। फिर आउटपुट को कैप्चर किया जाता है और new_string
में संग्रहीत किया जाता है। यह दृष्टिकोण संक्षिप्त और समझने में आसान है।
पहला अक्षर हटाने के लिए सबस्ट्रिंग विस्तार का उपयोग करना
Bash अंतर्निहित सबस्ट्रिंग विस्तार प्रदान करता है, जो अक्सर इस कार्य के लिए सबसे कुशल और पठनीय विधि होती है।
string="Hello World"
new_string="${string:1}"
echo "$new_string" # आउटपुट: ello World
${string:1}
दूसरे वर्ण (इंडेक्स 1, क्योंकि इंडेक्सिंग 0 से शुरू होती है) से शुरू होकर एक सबस्ट्रिंग निकालता है। यह प्रत्यक्ष हेरफेर कुशल है और आपके Bash स्क्रिप्ट की पठनीयता में सुधार करता है। यह विधि आम तौर पर Bash के भीतर इसकी गति और स्पष्टता के लिए पसंद की जाती है।
निष्कर्ष:
तीनों विधियाँ प्रभावी रूप से अग्रणी वर्ण को हटा देती हैं। सबस्ट्रिंग विस्तार (${string:1}
) को अक्सर इसकी सादगी, दक्षता और Bash स्क्रिप्ट के भीतर पठनीयता के कारण अनुशंसित दृष्टिकोण माना जाता है। हालाँकि, sed
और cut
अधिक जटिल स्ट्रिंग हेरफेर के लिए अधिक लचीलापन प्रदान करते हैं। सबसे अच्छा विकल्प आपकी विशिष्ट आवश्यकताओं और कोडिंग शैली पर निर्भर करता है। शब्द विभाजन और ग्लोबिंग के साथ संभावित समस्याओं को रोकने के लिए हमेशा अपने चर को उद्धृत करना याद रखें।