কেবল সেই রেখাগুলি হোল্ড বাফারে অনুলিপি করুন (তারপরে সেগুলি মুছুন) এবং শেষ লাইনে হোল্ড বাফার সামগ্রীটি প্যাটার্ন স্পেসে যুক্ত করুন:
some command | sed '1,NUMBER{ # in this range
H # append line to hold space and
1h # overwrite if it's the 1st line
d # then delete the line
}
$G' # on last line append hold buffer content
সঙ্গে gnu sed
আপনি যেমন লিখতে পারে
some command | sed '1,NUMBER{H;1h;d;};$G'
এখানে 'ওল' এর সাথে আরেকটি উপায় রয়েছে ed
(এটি পাঠ্য বাফারের r
আউটপুটকে eড করে some command
এবং তারপরে লা m
টির 1,NUMBER
পরে লাইনগুলি ওভার করে $
):
ed -s <<IN
r ! some command
1,NUMBERm$
,p
q
IN
দ্রষ্টব্য - যেমন উল্লেখ করা হয়েছে - আউটপুট NUMBER
+1 কম লাইনে থাকলে এগুলি উভয়ই ব্যর্থ হবে । আরও দৃ approach় পদ্ধতির ( gnu sed
সিনট্যাক্স) হবে:
some command | sed '1,NUMBER{H;1h;$!d;${g;q;};};$G'
এটি কেবলমাত্র সেই রেঞ্জের লাইনগুলি মুছে ফেলবে যতক্ষণ না তারা শেষ লাইন ( $!d
) না হয় - অন্যথায় এটি হোল্ডার বাফার সামগ্রী ( g
) এবং তারপরে q
ইউটগুলি (বর্তমান প্যাটার্ন স্পেস প্রিন্ট করার পরে) প্যাটার্ন স্পেসটিকে ওভাররাইট করে।