Следует ли Linux соглашениям System V по умолчанию, завершающимся SIGIO?

С gnu split :

n=2
m=4 
split -l ${m} --filter="head -n ${n}" infile

и если вы хотите сделать это только после i -й строки, просто перенаправьте предыдущие строки на / dev / null :

n=2
m=4 
i=7
{ head -n ${i} >/dev/null; split -l ${m} --filter="head -n ${n}"; } <infile

Если у вас нет доступа к инструментам gnu , вы можете использовать awk :

awk -vn=2 -vm=4 -vi=7 'NR<=i{next}; (NR-i)%m==1{c=1}; c++<=n' infile
1
08.07.2017, 21:03
1 ответ
2
27.01.2020, 23:33

Теги

Похожие вопросы