बस उन पंक्तियों को होल्ड बफर पर कॉपी करें (फिर उन्हें डिलीट करें) और जब आखिरी लाइन पर होल्ड बफर की सामग्री को पैटर्न स्पेस में जोड़ें:
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'
यहाँ ol के साथ एक और तरीका है ed(यह पाठ बफ़र rके आउटपुट some commandको मिटा देता है और फिर la t one के बाद mअंडाकार लाइनों 1,NUMBERको $):
ed -s <<IN
r ! some command
1,NUMBERm$
,p
q
IN
ध्यान दें - जैसा कि बताया गया है - ये दोनों विफल हो जाएंगे यदि आउटपुट में NUMBER+1 लाइनें कम हैं। एक अधिक ठोस दृष्टिकोण होगा ( gnu sedवाक्य रचना):
some command | sed '1,NUMBER{H;1h;$!d;${g;q;};};$G'
यह केवल तब तक उस सीमा में लाइनों को हटाता है जब तक वे अंतिम पंक्ति ( $!d) नहीं होते हैं - अन्यथा यह बफर सामग्री ( g) और फिर qयूआईटी (वर्तमान पैटर्न स्थान को प्रिंट करने के बाद ) के साथ पैटर्न स्पेस को ओवरराइट करता है ।