我需要对 col2 求和并将值添加到最后一条记录的最后一列。请指教,我们如何使用 UNIX shell 脚本实现此目的。
E.g Input file:
Col1 Col2 Col3 Col4
abc 2 A null
bcd 3 B null
adf 4 C null
Output file
Col1 Col2 Col3 Col4
abc 2 A null
bcd 3 B null
adf 4 C 9
最佳答案
假设您想在输出中保留空白:
$ awk '{sum+=$2; s=s $0 ORS} END{ sub("null"ORS"$",sum,s); print s}' file
Col1 Col2 Col3 Col4
abc 2 A null
bcd 3 B null
adf 4 C 9
或:
$ awk '{sum+=$2; printf "%s",p} {p=$0 ORS} END{ sub("null$",sum); print}' file
Col1 Col2 Col3 Col4
abc 2 A null
bcd 3 B null
adf 4 C 9
关于bash - 如何将任何列值的总和添加到制表符分隔文件中最后一条记录的最后一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13167117/