Gegeben eine Datei mit Daten wie diese (dh die Datei storage.dat)
sid|storeNo|latitude|longitude
2|1|-28.03720000|153.42921670
9|2|-33.85090000|151.03274200
Was wäre ein Befehl, um die Anzahl der Spaltennamen auszugeben?
dh im obigen Beispiel wäre es 4. (Anzahl der Pipe-Zeichen + 1 in der ersten Zeile)
Ich dachte so etwas wie:
awk '{ FS = "|" } ; { print NF}' stores.dat
Es werden jedoch alle Zeilen anstelle der ersten und für die erste Zeile 1 anstelle von 4 zurückgegeben
awk -F'|' 'NR==1{print NF}' stores.dat