Comment puis-je ignorer les 6 premières lignes / lignes d'un fichier texte (input.txt) et traiter le reste avec awk? Le format de mon script awk (program.awk) est le suivant:
BEGIN {
}
{
process here
}
END {
}
Mon fichier texte est comme ça:
0
3
5
0.1 4.3
2.0 1.5
1.5 3.0
0.3 3.3
1.5 2.1
.
.
.
Je veux traiter le fichier à partir de:
0.3 3.3
1.5 2.1
.
.
.
FNR
le numéro de la ligne est indiqué dans chaque fichier, tandis queNR
le nombre de toutes les entrées est différent (ce n'est pas un problème lors de la création d'une tuyauterie).Vous pouvez également ignorer un nombre arbitraire de lignes au début ou à la fin du fichier en utilisant
head
ou destail
programmes.Pour votre question concrète,
va faire, à condition que votre
program.awk
fichier est exécutable. Sinon, vous pouvez utiliserDe cette façon, vous épargnerez une comparaison pour chaque ligne et vous n'avez pas besoin de changer la logique de votre code AWK.
tail
commence à diffuser du texte à partir de la septième ligne, en sautant les six premières lignes.Ce ne sera pas un énorme problème de performances, en particulier si le traitement de texte est simple grâce à la mise en cache. Cependant, pour des fichiers longs et une utilisation répétée dans un environnement en nuage, vous pouvez économiser sur certains coûts.
la source