awk -F'|' '{print NF; exit}' stores.dat
最初の行の直後に終了してください。
そこにスペースを使用していない限り、 | wc -w
を使用できるはずです
wc
入力ファイル内の単語を単純にカウントする「Word Count」です。 1 行だけ送信すると、列の数がわかります。
これは回避策です (私にとって:awk はあまり使用しません):
データを含むファイルの最初の行を表示し、すべてのパイプを改行に置き換えてから、行を数えます:
$ head -1 stores.dat | tr '|' '\n' | wc -l