Вы также можете пропустить произвольное количество строк в начале или конце файла с помощью headили tailпрограмм.
Для вашего конкретного вопроса,
tail input.txt -n+7 | program.awk
будет делать, если ваш program.awkфайл исполняемый. В противном случае вы можете использовать
tail input.txt -n+7 | awk -f program.awk
Таким образом, вы сэкономите сравнение для каждой строки, и вам не нужно менять логику вашего кода AWK.
tail начнется потоковая передача текста, начиная с седьмой строки, пропуская шесть первых строк.
Это не будет иметь большого значения в производительности, особенно если текстовый процесс прост благодаря кэшированию. Однако для длинных файлов и многократного использования в облачной среде может сэкономить некоторая стоимость.
FNR- номер строки в каждом файле, аNRномер для всего ввода (не проблема при передаче по трубопроводу).