Как я могу пропустить первые 6 строк / строк в текстовом файле (input.txt) и обработать остальные с помощью awk? Формат моего сценария awk (program.awk):
BEGIN {
}
{
process here
}
END {
}
Мой текстовый файл выглядит так:
0
3
5
0.1 4.3
2.0 1.5
1.5 3.0
0.3 3.3
1.5 2.1
.
.
.
Я хочу обработать файл, начиная с:
0.3 3.3
1.5 2.1
.
.
.
FNR
- номер строки в каждом файле, аNR
номер для всего ввода (не проблема при передаче по трубопроводу).Вы также можете пропустить произвольное количество строк в начале или конце файла с помощью
head
илиtail
программ.Для вашего конкретного вопроса,
будет делать, если ваш
program.awk
файл исполняемый. В противном случае вы можете использоватьТаким образом, вы сэкономите сравнение для каждой строки, и вам не нужно менять логику вашего кода AWK.
tail
начнется потоковая передача текста, начиная с седьмой строки, пропуская шесть первых строк.Это не будет иметь большого значения в производительности, особенно если текстовый процесс прост благодаря кэшированию. Однако для длинных файлов и многократного использования в облачной среде может сэкономить некоторая стоимость.
источник