কম্পিউটার টিউটোরিয়াল

ব্যাশে স্ট্রিং স্প্লিট করা: cut কমান্ড দিয়ে সহজ গাইড

এই আর্টিকেলে দেখানো হবে কিভাবে ব্যাশ/শেল স্ক্রিপ্টে একটি স্ট্রিংকে নির্দিষ্ট ডিলিমিটার দিয়ে স্প্লিট করা যায় এবং কিছু উদাহরণ দেওয়া হবে।

স্ক্রিপ্ট লিখতে স্ট্রিং স্প্লিট করার ফাংশন থাকা খুব কাজে আসে। CSV (Comma Separated Values) অনলাইনে ডেটা উপলব্ধ করার একটি সাধারণ ফরম্যাট, যেখানে টেবিলের ডেটা ফিল্ডগুলো কমা (,) দিয়ে আলাদা থাকে।

আপনি শুধু স্পেস দিয়ে একটি বাক্যকে শব্দে ভাগ করতে চাইতে পারেন, বা পিরিয়ড দিয়ে প্যারাগ্রাফকে বাক্যে ভাগ করতে চাইতে পারেন, ইত্যাদি।

অনেক সমাধান ব্যাশ-নির্দিষ্ট স্ট্রিং স্প্লিটিং পদ্ধতিতে ফোকাস করে। নিচে আমি একটি পদ্ধতি আউটলাইন করব যা যেকোনো লিনাক্স শেল স্ক্রিপ্টে কাজ করবে।

cut কমান্ড দিয়ে স্ট্রিং স্প্লিট করা

লিনাক্সে 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. ব্যাশ শেল স্ক্রিপ্টিং মাস্টার করুন: লিনাক্স স্ক্রিপ্ট লেখা ও অটোমেট করার বেগাইনার গাইড

  2. rbash: রেস্ট্রিক্টেড Bash শেল মাস্টার করুন – কনসেপ্ট, ব্যবহার, এবং প্র্যাক্টিক্যাল উদাহরণ

  3. ব্যাশ শেল ফাংশন মাস্টার করুন: ৬টি প্র্যাক্টিক্যাল উদাহরণ ও টিপস

  4. ব্যাশ স্ক্রিপ্টিং মাস্টার করুন: ৫টি রিয়েল-ওয়ার্ল্ড উদাহরণসহ প্র্যাক্টিক্যাল ইন্ট্রোডাকশন