Wie kann ich die ersten 6 Zeilen in einer Textdatei (input.txt) überspringen und den Rest mit awk verarbeiten? Das Format meines awk-Skripts (program.awk) lautet:
BEGIN {
}
{
process here
}
END {
}
Meine Textdatei sieht folgendermaßen aus:
0
3
5
0.1 4.3
2.0 1.5
1.5 3.0
0.3 3.3
1.5 2.1
.
.
.
Ich möchte die Datei verarbeiten, beginnend mit:
0.3 3.3
1.5 2.1
.
.
.
FNR
ist die Zeilennummer in jeder Datei, währendNR
die Nummer in der gesamten Eingabe ist (kein Problem beim Piping).Sie können mit
head
odertail
programs auch eine beliebige Anzahl von Zeilen am Anfang oder Ende der Datei überspringen .Für Ihre konkrete Frage,
wird tun, sofern Ihre
program.awk
Datei ausführbar ist. Andernfalls können Sie verwendenAuf diese Weise ersparen Sie sich einen Vergleich für jede Zeile und müssen die Logik Ihres AWK-Codes nicht ändern.
tail
Der Text wird ab der siebten Zeile gestreamt, wobei die ersten sechs Zeilen übersprungen werden.Dies wird keine große Leistungseinbuße sein, insbesondere wenn die Textverarbeitung dank Caching einfach ist. Bei langen Dateien und wiederholter Verwendung in einer Cloud-Umgebung können jedoch einige Kosten gespart werden.
quelle