我的文件由逗号分隔,该逗号提供64列.我提取了字段,如下所示:
awk '{split($0,a,","); print a[57]}'
Run Code Online (Sandbox Code Playgroud)
如何使用my命令计算第57列中值的总和?
zze*_*nnn 32
这里的拆分似乎是不必要的,特别是考虑到你正在使用awk,它是基于字段的处理.如果您的文件真的以逗号分隔,则以下代码似乎更简单,IMO:
awk -F',' '{sum+=$57;} END{print sum;}' file.txt
Run Code Online (Sandbox Code Playgroud)
例如,给出以下输入:
~$ cat testawk.txt
a,a,aa,1
a,a,aa,2
d,d,dd,7
d,d,dd,9
d,dd,d,0
d,d,dd,23
d,d,dd,152
d,d,dd,7
d,d,dd,5
f2,f2,f2,5.5
Run Code Online (Sandbox Code Playgroud)
我们可以得到这样的总和:
~$ awk -F',' '{sum+=$4;}END{print sum;}' testawk.txt
216.5
Run Code Online (Sandbox Code Playgroud)
该-F','会告诉awk的输入字段分隔符是一个逗号.
在{sum+=$4;}增加了第4列到正在运行的总价值.
该END{print sum;}会告诉awk所有行被读取后打印总和的内容.
您可以对文件的第57列求和,然后使用它进行打印
awk '{split($0,a,","); sum += a[57]} END {print sum}'
Run Code Online (Sandbox Code Playgroud)