Я должен извлечь количество набора строк из файла, учитывая номер строки запуска и закончить номер строки.
Как я мог быстро сделать это под Unix (это - на самом деле Солярис, таким образом, аромат гну не доступен).
Спасибо
Для печати строк 6-10:
sed -n '6,10p' file
Если файл огромный, а номер конечной строки мал по сравнению с количеством строк, можно сделать это более эффективно:
sed -n '10q;6,10p' file
Из тестирования файла с достаточно большим количеством строк:
$ wc -l test.txt
368048 test.txt
$ du -k test.txt
24640 test.txt
$ time sed -n '10q;6,10p' test.txt >/dev/null
real 0m0.005s
user 0m0.001s
sys 0m0.003s
$ time sed -n '6,10p' test.txt >/dev/null
real 0m0.123s
user 0m0.092s
sys 0m0.030s
вы также можете сделать это с помощью nawk
#!/bin/sh
start=10
end=20
nawk -vs="$start" -ve="$end" 'NR>e{exit}NR>=s' file