awk -F'|' '{print NF; exit}' stores.dat
Quittez juste après la première ligne.
À moins que vous n'utilisiez des espaces, vous devriez pouvoir utiliser | wc -w
sur la première ligne.
wc
est "Word Count", qui compte simplement les mots dans le fichier d'entrée. Si vous n'envoyez qu'une seule ligne, il vous indiquera le nombre de colonnes.
Ceci est une solution de contournement (pour moi :je n'utilise pas très souvent awk) :
Affichez la première ligne du fichier contenant les données, remplacez tous les tubes par des retours à la ligne puis comptez les lignes :
$ head -1 stores.dat | tr '|' '\n' | wc -l