এটি লাইন দ্বারা ফাইল লাইন বিপরীত।
সেড '1! জি; এইচ; d! ডি' ফাইল
প্রথমত, sed
একটি হোল্ড স্পেস এবং একটি প্যাটার্ন স্পেস রয়েছে । সেই নির্দিষ্ট কমান্ডটিতে মনোনিবেশ করার আগে আমাদের তাদের মধ্যে পার্থক্য করতে হবে।
যখন sed
একটি নতুন লাইন পড়ে, এটি প্যাটার্ন স্পেসে লোড করা হয়। অতএব, নতুন স্পেসটি প্রক্রিয়াকৃত হওয়ার সাথে সাথে সেই স্থানটি ওভাররাইট করা হবে। অন্যদিকে, হোল্ড স্পেসটি পুরো প্রক্রিয়াজাতকরণের সাথে সামঞ্জস্যপূর্ণ এবং পরে ব্যবহারের জন্য মানগুলি সেখানে সংরক্ষণ করা যেতে পারে।
আদেশটি:
এই বিবৃতিতে 3 কমান্ডের বর্ণনা দেয়া হলঃ 1!G
, h
এবং$!d
1!G
এর অর্থ G
হ'ল কমান্ডটি প্রথম লাইনের ব্যতীত প্রতিটি লাইনে কার্যকর করা হয় ( !
অগ্রাহ্য করে 1
)। G
বিত্ত যোগ কি প্যাটার্ন মহাকাশ হোল্ড স্থান রয়েছে।
h
প্রতিটি লাইনে প্রযোজ্য এটি হোল্ড স্পেসে প্যাটার্ন স্পেসটি অনুলিপি করে (এবং এটি ওভাররাইট করে)।
$!d
শেষটি ব্যতীত প্রতিটি লাইনের ক্ষেত্রে প্রযোজ্য ( $
শেষ লাইনের প্রতিনিধিত্ব করে, !
এটিকে উপেক্ষা করে)। d
লাইনটি মুছে ফেলার আদেশ (প্যাটার্ন স্পেস)।
- এখন, যখন প্রথম লাইন পাঠ করা হয়,
sed
executes h
কমান্ড। প্রথম লাইনটি হোল্ড স্পেসে অনুলিপি করা হয়। তারপরে এটি মুছে ফেলা হয়, কারণ এটি $!
শর্তের সাথে মেলে । sed
দ্বিতীয় লাইনের সাথে অবিরত।
- দ্বিতীয় লাইন শর্তের সাথে মেলে
1!
(এটি প্রথম লাইন নয়) এবং তাই হোল্ড স্পেস (যার প্রথম লাইন রয়েছে) প্যাটার্ন স্পেসে যুক্ত করা হয় (যার দ্বিতীয় লাইন রয়েছে)। এর পরে, প্যাটার্ন স্পেসে, এখন দ্বিতীয় লাইন রয়েছে তার পরে প্রথম লাইনটি, একটি নতুন লাইন দ্বারা বিস্মৃত। এখন, h
কমান্ড প্রযোজ্য (প্রতিটি লাইনের মতো); প্যাটার্ন স্পেসে থাকা সমস্ত হোল্ড স্পেসে অনুলিপি করা হয়। তৃতীয় বিবৃতি ( $!d
) প্রযোজ্য: লাইনটি প্যাটার্ন স্পেস থেকে মুছে ফেলা হয়েছে।
- পদক্ষেপ 2 এখন সমস্ত লাইন দিয়ে সম্পন্ন করা হয়। আমরা শেষ লাইনে চলে যাই।
- শেষ লাইনে (
$
) প্রায় সমস্ত ধাপ 2 সম্পূর্ণ হয়ে গেছে, তবে মুছার অংশটি ( d
) নয়। sed
, যখন ছাড়া আহ্বান করা হয় -n
, প্রতিটি ইনপুট লাইনের প্রক্রিয়া শেষে স্বয়ংক্রিয়ভাবে প্যাটার্ন স্পেসটি মুদ্রণ করে। সুতরাং, মুছে ফেলা না হলে, প্যাটার্ন স্পেসটি মুদ্রিত হয়। এতে এখন বিপরীত ক্রমে সমস্ত লাইন রয়েছে ।