कैसे बैश में एक स्ट्रिंग से अंतिम n अक्षर निकालें
बैश में, उपयोगकर्ता इनपुट से पिछली सफेद जगह को ट्रिम करना या स्ट्रिंग से अंतिम एन वर्णों को हटाने के लिए अवांछित एक्सटेंशन वाले फ़ाइल नामों को साफ करने के लिए उपयोग किया जा सकता है:
विधि 1: कट कमांड का उपयोग करना
बैश में कट कमांड का उपयोग फ़ाइल की प्रत्येक पंक्ति से अनुभाग निकालने के लिए किया जाता है। इसका उपयोग स्ट्रिंग से विशिष्ट श्रेणी के वर्णों को निकालने के लिए भी किया जा सकता है। एक स्ट्रिंग से अंतिम n वर्णों को हटाने के लिए, हम -c विकल्प के साथ कट कमांड का उपयोग कर सकते हैं, और यहाँ सिंटैक्स है:
गूंज 'डोरी' | काटना -सी -एन
यहाँ स्ट्रिंग वास्तविक स्ट्रिंग है जिससे हम अंतिम n वर्णों को हटाना चाहते हैं, और n उन वर्णों की संख्या है जिन्हें हम हटाना चाहते हैं, नीचे उदाहरण है जो उपरोक्त सिंटैक्स का उपयोग करता है:
#!/बिन/बैश
डोरी = 'हैलो लिनक्स'
गूंज ' $ स्ट्रिंग ' | काटना -सी -5
उपरोक्त उदाहरण में, हमने 'हैलो लिनक्स' स्ट्रिंग से अंतिम 6 वर्णों को हटाने के लिए कट कमांड का उपयोग किया है और आउटपुट 'हैलो' है।
विधि 2: sed कमांड का उपयोग करना
सेड एक शक्तिशाली स्ट्रीम एडिटर है जिसका उपयोग किसी फ़ाइल या इनपुट की स्ट्रीम पर विभिन्न टेक्स्ट ट्रांसफ़ॉर्मेशन करने के लिए किया जा सकता है। Sed का उपयोग करके एक स्ट्रिंग से अंतिम n वर्णों को निकालने के लिए, हम निम्नलिखित कमांड सिंटैक्स का उपयोग कर सकते हैं:
गूंज 'डोरी' | लेकिन 's/.\{n\}$//'यहाँ, n उन वर्णों की संख्या है जिन्हें हम स्ट्रिंग के अंत से हटाना चाहते हैं, और नीचे एक उदाहरण है जो sed कमांड का उपयोग करता है:
#!/बिन/बैश
डोरी = 'हैलो लिनक्स'
गूंज ' $ स्ट्रिंग ' | लेकिन 's/.\{6\}$//'
उपरोक्त उदाहरण में, हमने 'हैलो लिनक्स' स्ट्रिंग से अंतिम 6 वर्णों को हटाने के लिए sed कमांड का उपयोग किया है और आउटपुट 'हैलो' है।
विधि 3: पैरामीटर विस्तार का उपयोग करना
बैश में पैरामीटर विस्तार एक विशेषता है जो हमें एक चर के मान में हेरफेर करने की अनुमति देता है। पैरामीटर विस्तार का उपयोग करके एक स्ट्रिंग से अंतिम n वर्णों को निकालने के लिए, हम निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
${स्ट्रिंग::-एन}यहां, स्ट्रिंग चर में वास्तविक स्ट्रिंग है जिसमें से हम अंतिम n वर्णों को हटाना चाहते हैं, और n वर्णों की वह संख्या है जिसे हम निकालना चाहते हैं।
#!/बिन/बैशडोरी = 'हैलो लिनक्स'
गूंज ${स्ट्रिंग::-6}
उपरोक्त उदाहरण में, हमने 'हैलो लिनक्स' स्ट्रिंग से अंतिम 4 वर्णों को हटाने के लिए पैरामीटर विस्तार का उपयोग किया है और आउटपुट 'हैलो' है।
निष्कर्ष
बैश में एक स्ट्रिंग से अंतिम n वर्णों को हटाने के लिए, कट कमांड, sed कमांड और पैरामीटर विस्तार तीन तरीके हैं। इन तरीकों का उपयोग करना आसान है और विभिन्न बैश स्क्रिप्टिंग कार्यों में सहायक हो सकता है। इन तरीकों का उपयोग करके, हम आसानी से स्ट्रिंग्स में हेरफेर कर सकते हैं और बैश में टेक्स्ट ट्रांसफॉर्मेशन कर सकते हैं।