awk -F'|' '{print NF; exit}' stores.dat
Stačí skončit hned po prvním řádku.
Pokud tam nepoužíváte mezery, měli byste být schopni použít | wc -w
na prvním řádku.
wc
je "Počet slov", který jednoduše počítá slova ve vstupním souboru. Pokud odešlete pouze jeden řádek, sdělí vám počet sloupců.
Toto je řešení (pro mě:awk moc často nepoužívám):
Zobrazte první řádek souboru obsahujícího data, nahraďte všechny svislé čáry novými řádky a poté spočítejte řádky:
$ head -1 stores.dat | tr '|' '\n' | wc -l