Obsah

NR (Number of Records)

NR je v AWK proměnná, která udržuje informaci o tom, kolik záznamů (řádků) už program od začátku svého spuštění přečetl. Hodnota NR se s každým novým řádkem automaticky zvyšuje o 1.

1. Základní použití

Díky NR můžete snadno provádět operace založené na pozici řádku v souboru.

Očíslování řádků

Chcete-li přidat čísla řádků k textu (podobně jako příkaz cat -n):

Výpis konkrétního řádku

Chcete-li vypsat pouze 10. řádek:

Výpis rozsahu řádků

Chcete-li vypsat řádky od 5 do 15:

2. Rozdíl mezi NR a FNR

Pokud v rámci jednoho příkazu AWK zpracováváte více souborů, narazíte na důležitý rozdíl:

3. Použití v bloku END

V bloku END obsahuje proměnná NR celkový počet řádků v celém vstupu. To je ideální pro statistiky:

4. Praktické příklady

Úkol Příkaz
Smazat první řádek (hlavičku) awk 'NR > 1' data.csv
Zpracovat pouze sudé řádky awk 'NR % 2 == 0' soubor
Najít poslední řádek awk '{ radek=$0 } END { print radek }' soubor
Tip: NR je neocenitelný pomocník při čištění dat. Pokud víte, že prvních několik řádků exportu obsahuje nepotřebné metadatové informace, stačí použít awk 'NR > 5' , čímž je efektivně odříznete.

Zpět na AWK