我有一个 n 乘 m 的制表符分隔文件(其中 n 是行数,m 是列数)。
我想对文件中存在的值执行数学运算(比如将每列中存在的值加 5,然后除以 12)。
任何一行正则表达式命令或混合的东西....帮助
提前谢谢你。
最佳答案
awk '{
# add all numbers on a line
tot=0
for (i=1;i<=NF;i++) tot+=$i
# print detail
print "LineNo=" NR "\ttot="tot "\tavg=" tot/12 "data=" $0
gTot+=tot
}
END {
print "Number of Lines =" NR "\n" \
GrandTotal=\t" gTot
}
' yourFile
你会想通过这个 excellent awk tutorial 来工作真正了解正在发生的事情。
希望对您有所帮助。
附言由于您似乎是新用户,如果您得到的答案对您有帮助,请记住将其标记为已接受,和/或给它一个 +(或 -)作为有用的答案。请注意,您只能“接受”一个答案(带有复选标记),并且每天最多可以为 30 个答案投票。
关于shell - 对制表符分隔文件中的所有 "cells"执行算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5885609/