Você pode achar útil essa combinação de perl e elisp . Permite canalizar dados para um buffer. As invocações subsequentes usando o mesmo nome do buffer anexarão as novas linhas ao mesmo buffer.
Você pode "editar" o buffer , mas a edição não reflete de forma alguma a origem (que é um canal ) ... Ela não mostra nenhum número de linha, embora você possa ajustar a entrada para incluir um prefixo numerado para cada linha.
from=50000000
to=50000010
<file_50 head -n "$to" | tail -n +"$from" | e-sink.pl
No buffer:
<<<<< start: 2012-09-09T01:39:49
1000000
VSjU K97X5Z dFcc ZZd2OqQ PzbnphT
yQBTt LOic Ks sPXrq tty oy
dA8 SD BvO daZ KFPr44X
X0m3BI eR4go YjFp7e vbJr3oe Y0OGgH3 uPfz yfq59
we rm L9iD ugcJBND daS
7pO lwUFzNE HPlPW fmPZ vpRs Rx EFeHaFM
b0 1B ncr Db324 vwO Un34R
HDZS wq9zg W013 5JGly
kAfP QPpjjyh pXMAw I1 CGKDc23 qCBnP
<<<<< end: 0.630s
Ou, com os números de linha adicionados:
from=50000000
to=50000010
<file_50 head -n "$to" | tail -n +"$from" | nl -v$from -ba -w${#to} | e-sink.pl
No buffer:
<<<<< start: 2012-09-09T01:53:44
50000000 1000000
50000001 VSjU K97X5Z dFcc ZZd2OqQ PzbnphT
50000002 yQBTt LOic Ks sPXrq tty oy
50000003 dA8 SD BvO daZ KFPr44X
50000004 X0m3BI eR4go YjFp7e vbJr3oe Y0OGgH3 uPfz yfq59
50000005 we rm L9iD ugcJBND daS
50000006
50000007 7pO lwUFzNE HPlPW fmPZ vpRs Rx EFeHaFM
50000008 b0 1B ncr Db324 vwO Un34R
50000009 HDZS wq9zg W013 5JGly
50000010 kAfP QPpjjyh pXMAw I1 CGKDc23 qCBnP
<<<<< end: 0.768s
Encontrei isso em um StackOverflow Q / A