/ / Drukuj informacje o nagłówku za pomocą awk co 20 linii - linux, bash

Drukuj informacje o nagłówku za pomocą awk co 20 linii - linux, bash

Mam duży projekt danych, który ma tysiącewpisy. Dane mają z grubsza 20 kolumn, w tym cylindry, przebieg gazu, marka, model itp. Używam awk do wyprowadzenia wszystkich danych, muszę uporządkować dane w ładną tabelę.

Używam skryptu takiego jak ten:

#!/bin/bash

while read x
do
echo $x | awk -F "," " { print $1":"$2":"$4":"$7":"$8":"$10":"$11":"$12":"$22":"$24 } "
done

Będą nagłówki tytułu, w których znajdują się dwukropki. Muszę powtarzać te co 20 linii i musi mieć podział wiersza po wierszu 20 i nagłówku. Ponadto ostatnia linia powinna wyprowadzać liczbę wpisów.

Utknąłem na ostatnich 3 rzeczach do zrobienia.

Odpowiedzi:

2 dla odpowiedzi № 1

Nie ma sensu używanie while read pętli, a tak naprawdę to komplikuje sprawy, ponieważ utrudnia to awk aby zachować liczbę linii. Próbować:

awk -F, "NR % 20 == 1 { print "header columns" }
{ print $1,$2,$4,$7,$8,$10,$11,$12,$22,$24 }" OFS=: input-file