Range Addressing এবং Multiple Address Blocks

Sed এ Addressing (Addressing in Sed) - সেড (Sed) - Computer Programming

246

Sed (Stream Editor) এ Range Addressing এবং Multiple Address Blocks দুটি অত্যন্ত গুরুত্বপূর্ণ কনসেপ্ট যা আপনাকে টেক্সট ফাইলে নির্দিষ্ট লাইন রেঞ্জের মধ্যে কাজ করতে সাহায্য করে। এগুলো আপনাকে একাধিক লাইন বা লাইন রেঞ্জের মধ্যে পরিবর্তন, মুছে ফেলা, বা নতুন কিছু যোগ করার ক্ষমতা প্রদান করে।


Range Addressing (রেঞ্জ অ্যাড্রেসিং)

Range Addressing এর মাধ্যমে আপনি টেক্সট ফাইলে একটি নির্দিষ্ট লাইন রেঞ্জের মধ্যে কমান্ড অ্যাপ্লাই করতে পারেন। রেঞ্জ অ্যাড্রেসিংটি আপনাকে দ্বিতীয় লাইন থেকে চতুর্থ লাইন বা বিশেষ কোন লাইন থেকে অন্য একটি লাইন পর্যন্ত কোনো কমান্ড প্রয়োগ করতে সাহায্য করে। এর জন্য Sed কমান্ডে লাইন নম্বর বা প্যাটার্নের মধ্যে একটি রেঞ্জ ব্যবহার করা হয়।

সিনট্যাক্স:

sed 'start_line,end_line command' input-file

এখানে:

  • start_line: শুরু লাইন নম্বর বা প্যাটার্ন
  • end_line: শেষ লাইন নম্বর বা প্যাটার্ন
  • command: Sed কমান্ড যা আপনি রেঞ্জের মধ্যে অ্যাপ্লাই করতে চান।
  • input-file: টেক্সট ফাইল যার উপর Sed কমান্ড প্রয়োগ করা হবে।

Range Addressing এর উদাহরণ

  1. নির্দিষ্ট লাইন রেঞ্জের মধ্যে সার্চ এবং রিপ্লেস
    ধরুন আপনি file.txt ফাইলে ২য় থেকে ৫ম লাইন পর্যন্ত "cat" শব্দটিকে "dog" দিয়ে প্রতিস্থাপন করতে চান।

    কমান্ড:

    sed '2,5s/cat/dog/g' file.txt

    এই কমান্ডটি file.txt ফাইলে ২য় থেকে ৫ম লাইন পর্যন্ত "cat" শব্দকে "dog"-এ প্রতিস্থাপন করবে।

  2. লেখার শেষে নতুন লাইন যোগ করা
    ধরুন আপনি ৩য় থেকে ৬ষ্ঠ লাইন পর্যন্ত শেষে একটি নতুন লাইন যোগ করতে চান।

    কমান্ড:

    sed '3,6a This is a new line' file.txt

    এই কমান্ডটি ৩য় থেকে ৬ষ্ঠ লাইনের পরে "This is a new line" যোগ করবে।

  3. নির্দিষ্ট রেঞ্জের মধ্যে লাইন মুছে ফেলা
    আপনি যদি ৪র্থ থেকে ৭ম লাইন পর্যন্ত মুছে ফেলতে চান, তবে কমান্ড হবে:

    কমান্ড:

    sed '4,7d' file.txt

    এই কমান্ডটি file.txt থেকে ৪র্থ থেকে ৭ম লাইন মুছে ফেলবে।


Multiple Address Blocks (একাধিক অ্যাড্রেস ব্লক)

Sed এ Multiple Address Blocks এর মাধ্যমে একাধিক লাইন রেঞ্জে কাজ করতে পারেন। এখানে আপনি একাধিক লাইন রেঞ্জ নির্দিষ্ট করে একাধিক কমান্ড প্রয়োগ করতে পারবেন। এটি একটি শক্তিশালী ফিচার, যা একাধিক অবস্থানে (যতগুলি ব্লক প্রয়োজন) কাজ করতে সাহায্য করে।

সিনট্যাক্স:

sed 'address1, address2 command1; address3, address4 command2' input-file

এখানে:

  • address1, address2: প্রথম লাইন রেঞ্জ
  • address3, address4: দ্বিতীয় লাইন রেঞ্জ
  • command1, command2: একাধিক কমান্ড যা আপনার নির্দিষ্ট অ্যাড্রেস রেঞ্জে প্রয়োগ করা হবে।
  • input-file: টেক্সট ফাইল যেখানে পরিবর্তন প্রযোজ্য।

Multiple Address Blocks এর উদাহরণ

  1. একাধিক লাইন রেঞ্জে রিপ্লেসমেন্ট এবং ডিলিট
    ধরুন আপনি ২য় থেকে ৫ম লাইন পর্যন্ত "cat" কে "dog"-এ প্রতিস্থাপন করতে চান এবং ৬ষ্ঠ থেকে ৮ম লাইন পর্যন্ত লাইন মুছে ফেলতে চান।

    কমান্ড:

    sed '2,5s/cat/dog/g; 6,8d' file.txt

    এই কমান্ডটি:

    • ২য় থেকে ৫ম লাইন পর্যন্ত "cat" শব্দকে "dog"-এ প্রতিস্থাপন করবে।
    • ৬ষ্ঠ থেকে ৮ম লাইন পর্যন্ত মুছে ফেলবে।
  2. একাধিক লাইন রেঞ্জে নতুন লাইন যোগ করা
    ধরুন আপনি ৩য় থেকে ৫ম লাইন পর্যন্ত "This is a new line" যোগ করতে চান এবং ৮ম থেকে ১০ম লাইনে একইভাবে নতুন লাইন যোগ করতে চান।

    কমান্ড:

    sed '3,5a This is a new line; 8,10a Another new line' file.txt

    এটি ৩য় থেকে ৫ম লাইনের পরে "This is a new line" যোগ করবে এবং ৮ম থেকে ১০ম লাইনের পরে "Another new line" যোগ করবে।

  3. একাধিক লাইন রেঞ্জে কমান্ড প্রয়োগ করা
    আপনি যদি ২য় থেকে ৪র্থ এবং ৭ম থেকে ৯ম লাইনগুলোর মধ্যে একাধিক কাজ করতে চান (যেমন, রিপ্লেসমেন্ট এবং মুছতে), তাহলে:

    কমান্ড:

    sed '2,4s/cat/dog/g; 7,9d' file.txt

    এটি:

    • ২য় থেকে ৪র্থ লাইন পর্যন্ত "cat" শব্দকে "dog"-এ প্রতিস্থাপন করবে।
    • ৭ম থেকে ৯ম লাইন পর্যন্ত মুছে ফেলবে।

Range Addressing এবং Multiple Address Blocks এর সুবিধা

  1. দ্রুত পরিবর্তন: একাধিক লাইন বা লাইন রেঞ্জে দ্রুত এবং কার্যকরভাবে পরিবর্তন করতে সাহায্য করে।
  2. বিকল্প কমান্ড: একাধিক কমান্ড প্রয়োগ করে একাধিক লাইন বা লাইন রেঞ্জে কাজ করার সুবিধা প্রদান করে।
  3. স্ক্রিপ্টিং এবং অটোমেশন: স্ক্রিপ্টের মাধ্যমে বড় আকারের টেক্সট ফাইল বা ডেটাতে পরিবর্তন দ্রুত করতে সহায়ক।

সারাংশ

  • Range Addressing Sed এর একটি শক্তিশালী ফিচার, যা আপনাকে নির্দিষ্ট লাইন রেঞ্জের মধ্যে কাজ করার সুযোগ দেয়। এটি আপনাকে নির্দিষ্ট লাইন বা লাইন রেঞ্জের মধ্যে মুছে ফেলা, প্রতিস্থাপন, বা নতুন লাইন যোগ করতে সাহায্য করে।
  • Multiple Address Blocks এর মাধ্যমে আপনি একাধিক লাইন রেঞ্জে একাধিক কমান্ড প্রয়োগ করতে পারেন, যা একাধিক পরিবর্তন করতে সাহায্য করে।
Content added By
Promotion

Are you sure to start over?

Loading...