awk -F'|' '{print NF; exit}' stores.dat
Esci subito dopo la prima riga.
A meno che tu non stia usando degli spazi, dovresti essere in grado di usare | wc -w
sulla prima riga.
wc
è "Word Count", che conta semplicemente le parole nel file di input. Se invii solo una riga, ti dirà il numero di colonne.
Questa è una soluzione alternativa (per me:non uso awk molto spesso):
Visualizza la prima riga del file contenente i dati, sostituisci tutte le pipe con i newline e poi conta le righe:
$ head -1 stores.dat | tr '|' '\n' | wc -l