输入文件:
A 1,2,3,4 #length($2)=4
B 1,2 #length($2)=2
C 9,8,7,6,5,4 #length($2)=6
预期输出:
12 #4+2+6
类似的方法:awk -F '[\t,]' '{print length($2)}'
但处理整个文件。
答案1
如果没有其他带逗号的列,则这样做:
awk -F, '{c+=NF} END {print c+0}' file
答案2
也许
awk '{s += split($2, a, ",")}; END{print s+0}' file
12
答案3
如果没有其他带有逗号的列,则计算行数和逗号的数量:
tr -cd ',\n' < file | wc -c
答案4
尝试:
$ awk '{split($2,a,",");s += length(a)};END{print s+0}' file
12
或者如果您的电话号码只有一位数字:
$ awk '{gsub(",","",$2);s += length($2)};END{print s+0}' file
12