Jak mogę pominąć pierwsze 6 linii / wierszy w pliku tekstowym (input.txt), a resztę przetworzyć za pomocą awk? Format mojego skryptu awk (program.awk) jest następujący:
BEGIN {
}
{
process here
}
END {
}
Mój plik tekstowy wygląda następująco:
0
3
5
0.1 4.3
2.0 1.5
1.5 3.0
0.3 3.3
1.5 2.1
.
.
.
Chcę przetworzyć plik, zaczynając od:
0.3 3.3
1.5 2.1
.
.
.
FNR
jest to numer wiersza w każdym pliku, podczas gdyNR
jest to liczba w całym danych wejściowych (nie jest to problem podczas instalacji).Możesz także pominąć dowolną liczbę wierszy na początku lub na końcu pliku za pomocą
head
lubtail
programów.Na twoje konkretne pytanie
zrobi, pod warunkiem, że Twój
program.awk
plik jest wykonywalny. W przeciwnym razie możesz użyćW ten sposób oszczędzasz porównanie dla każdej linii i nie musisz zmieniać logiki kodu AWK.
tail
rozpocznie przesyłanie strumieniowe tekstu od siódmej linii, pomijając sześć pierwszych linii.Wydajność nie będzie miała wielkiego znaczenia, szczególnie jeśli proces tekstowy jest prosty dzięki buforowaniu. Jednak w przypadku długich plików i wielokrotnego używania w środowisku chmurowym można zaoszczędzić pewien koszt.
źródło