Использование:
BEGIN {
}
NR>6{
process here
}
END {
}
В awk NR
- номер строки. Чтобы пропустить обработку первых шести, добавим условие NF>6
. Когда это условие ложно, то есть для первых шести строк, строки не обрабатываются.
Обработка нескольких файлов
Предположим, что у нас есть папка с текстовыми файлами с именами от 000.txt до 181.txt. Вот пример обработки всех их одним и тем же сценарием awk и отправки их в соответствующие выходные файлы (output000.txt - output181.txt):
awk 'NR>6{print>("output" FILENAME)}' {000..181}.txt
Если мы используем bash
, то {000..181}.txt
расширится до имен наших 182 входных файлов.
В awk (для этого может потребоваться GNU awk), FILENAME
- это имя входного файла, над которым в данный момент работает awk. Таким образом ("output" FILENAME)
- это имя нашего текущего выходного файла.
Предназначенный просто в качестве примера, вышеприведенный просто печатает все, кроме первых шести строк входного файла, в выходной файл. Более сложные программы будут использовать те же принципы.
Дополнительно: для обработки каждого файла в каталоге, независимо от его имени, используйте:
awk 'NR>6{print>("output" FILENAME)}' *