Uso:
BEGIN {
}
NR>6{
process here
}
END {
}
No awk, NR
é o número da linha. Para pular o processamento para os seis primeiros, adicionamos a condição NF>6
. Quando esta condição é falsa, o que é para as primeiras seis linhas, as linhas não são processadas.
Processando vários arquivos
Suponha que temos uma pasta cheia de arquivos de texto chamados 000.txt para 181.txt. Aqui está um exemplo de processamento de todos eles com o mesmo script awk e enviá-los para os respectivos arquivos de saída (output000.txt - output181.txt):
awk 'NR>6{print>("output" FILENAME)}' {000..181}.txt
Se estivermos usando bash
, então {000..181}.txt
será expandido para os nomes dos nossos 182 arquivos de entrada.
No awk (isso pode requerer o GNU awk), FILENAME
é o nome do arquivo de entrada no qual o awk está atualmente trabalhando. Assim, ("output" FILENAME)
é o nome do nosso arquivo de saída atual.
Destinado apenas como exemplo, o acima simplesmente imprime todas as seis primeiras linhas do arquivo de entrada para o arquivo de saída. Programas mais complicados usariam os mesmos princípios.
Extra: Para processar todos os arquivos no diretório, independentemente do nome do arquivo, use:
awk 'NR>6{print>("output" FILENAME)}' *