Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

Bash में स्ट्रिंग्स को आसानी से विभाजित करें: व्यावहारिक उदाहरणों के साथ पूर्ण गाइड

यह लेख आपको दिखाएगा कि किसी दिए गए डिलीमीटर पर Bash/शेल स्क्रिप्ट में स्ट्रिंग को कैसे विभाजित किया जाए और कुछ उदाहरण दिखाएगा।

स्क्रिप्ट बनाते समय स्ट्रिंग्स को विभाजित करना एक उपयोगी फ़ंक्शन है। CSV (कॉमा सेपरेटेड वैल्यूज़) एक सामान्य प्रारूप है जिसमें डेटा ऑनलाइन उपलब्ध कराया जाता है, जहां टेबल में डेटा फ़ील्ड (आश्चर्य) कॉमा से अलग होते हैं।

आप केवल वाक्य को स्पेस पर शब्दों में विभाजित करना चाह सकते हैं, या पैराग्राफ को पीरियड पर वाक्यों में विभाजित करना चाह सकते हैं, और इसी तरह।

कई समाधान स्ट्रिंग्स को विभाजित करने के बैश-विशिष्ट तरीकों पर ध्यान केंद्रित करते हैं। नीचे, मैं एक ऐसी विधि की रूपरेखा दूंगा जो किसी भी Linux शेल स्क्रिप्ट में काम करनी चाहिए।

cut कमांड का उपयोग करके स्ट्रिंग्स विभाजित करें

Linux में cut कमांड टेक्स्ट फ़ाइल में लाइनों से सेक्शन हटाता है और फिर उन्हें आउटपुट करता है।

यह उदाहरण इस कमांड को दिए गए डिलीमीटर पर टेक्स्ट को विभाजित करने के लिए अनुकूलित करेगा।

cut कमांड के पूर्ण उपयोगकर्ता मैनुअल के लिए, यहां क्लिक करें।

कोड

नीचे एक उदाहरण बैश स्क्रिप्ट है जो स्ट्रिंग splitMe लेती है और कॉमा (,) पर विभाजित स्ट्रिंग में उनकी स्थिति के आधार पर आइटम लौटाती है:

#!/bin/bash # Define a comma-separated string splitMe='apple,banana,grape,kiwi' # Get the first item in the split string firstItem="$(echo $splitMe | cut -d',' -f1)" # Get the third item in the split string thirdItem="$(echo $splitMe | cut -d',' -f3)" # Confirm the result by outputting it to screen echo $thirdItem

तो यह क्यों काम करता है? echo कमांड का उपयोग मूल स्ट्रिंग को cut कमांड में पाइप करने के लिए किया जाता है। cut कमांड डिलीमीटर निर्दिष्ट करने के लिए -d विकल्प का उपयोग करता है (इस मामले में एक कॉमा, लेकिन किसी भी वर्ण या स्ट्रिंग का उपयोग किया जा सकता है), और -f विकल्प के बाद एक संख्या का उपयोग करके निर्दिष्ट करता है कि कौन सा फ़ील्ड वापस किया जाना चाहिए – वह विभाजित स्ट्रिंग से आप जिस आइटम को प्राप्त करना चाहते हैं उसकी स्थिति है।

पुन: प्रयोज्य बैश फ़ंक्शन

यह सब ठीक है, लेकिन यह वास्तव में पुन: प्रयोज्य नहीं है – तो यहाँ यह एक फ़ंक्शन में है:

#!/bin/bash # Define function to split strings # It will accept three parameters, the string to split, the delimiter, and finally the position of the item to return splitMyString(){ splitString=$1 delimiter=$2 item=$3 result="$(echo $splitString | cut -d',' -f$item)" echo $result } # Define a string to split for testing splitMe='apple,banana,grape,kiwi' # Test the function by splitting the string at the comma and returning the second item echo $(splitMyString $splitMe "," 2)


  1. rbash: रिस्ट्रिक्टेड Bash शेल में महारत - अवधारणाएं, उपयोग और व्यावहारिक उदाहरण rbash: रिस्ट्रिक्टेड Bash शेल में महारत - अवधारणाएं, उपयोग और व्यावहारिक उदाहरण

    लिनक्स शेल सबसे आकर्षक और शक्तिशाली GNU/लिनक्स संचालित टूल में से एक है। X सहित सभी एप्लिकेशन, शेल पर बने हैं और लिनक्स शेल इतना शक्तिशाली है कि इसका उपयोग करके पूरे लिनक्स सिस्टम को सटीक रूप से नियंत्रित किया जा सकता है। लिनक्स शेल का दूसरा पहलू यह है कि यह संभावित रूप से हानिकारक हो सकता है, जब आप

  1. Bash शेल फ़ंक्शन्स में मास्टर करें: 6 व्यावहारिक उदाहरण और टिप्स Bash शेल फ़ंक्शन्स में मास्टर करें: 6 व्यावहारिक उदाहरण और टिप्स

    Bash शेल फ़ंक्शन्स कई UNIX / Linux कमांड्स को बाद में निष्पादन के लिए एक ही नाम का उपयोग करके समूहबद्ध करने का एक तरीका है। Bash शेल फ़ंक्शन को नियमित Unix कमांड की तरह निष्पादित किया जा सकता है। शेल फ़ंक्शन्स को किसी नई प्रक्रिया को बनाए बिना वर्तमान शेल संदर्भ में निष्पादित किया जाता है। Bash alia

  1. Bash स्क्रिप्टिंग में मास्टर करें: 5 वास्तविक-विश्व उदाहरणों के साथ एक व्यावहारिक परिचय Bash स्क्रिप्टिंग में मास्टर करें: 5 वास्तविक-विश्व उदाहरणों के साथ एक व्यावहारिक परिचय

    हमारे चल रहे Unix Sed और Unix Awk सीरीज़ के समान, हम Bash स्क्रिप्टिंग पर कई लेख पोस्ट करेंगे, जो व्यावहारिक उदाहरणों के साथ सभी Bash स्क्रिप्टिंग तकनीकों को कवर करेंगे। शेल एक प्रोग्राम है, जो उपयोगकर्ता कमांड्स की व्याख्या करता है। कमांड्स या तो उपयोगकर्ता द्वारा सीधे दर्ज की जाती हैं या शेल स्क्र