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