Как можно использовать sed для извлечения n строк файла каждые m -ой строки?
Скажем, мой текстовый файл выглядит так:
myfile.dat:
1
2
3
4
5
6
7
8
9
10
Скажите, что я хочу извлечь блоки из трех строк, а затем пропустить две строки по всему файлу, чтобы мои выходные данные выглядели так:
output.dat:
1
2
3
6
7
8
Любые предложения о том, как можно добиться этого с помощью sed?
Редактировать:
Для моего примера я мог бы просто использовать
sed -n 'p; n; p; n; p; n; n' myfile.dat> output.dat
или с GNU sed (не рекомендуется из-за переносимости)
sed '1 ~ 5b; 2 ~ 5b; 3 ~ 5b; d' myfile.dat> output.dat
Однако обычно я хочу напечатать блоки из 2450 строк из файла с 49 002 450 строками,такой, что мой выходной файл содержит 247 450 строк.