我有一个文件 (old.dat),假设有 20 列。现在,我想要一个包含 2 列(即 x 和 y)的不同文件(new.dat),其中 y 是 old.dat 文件的所有偶数列的总和,即 y = $2+$4+$6+...(old.dat 文件中的 X 将保持不变)
有没有有效的方法来为此目的编写“awk”命令? 注意:我不想每次都这样写$2+$4+$6,可以是一个变量吗?
旧数据:
-36.0331 1 -36.0331 2 -36.0331 3 -36.0331 2 -36.0331 1 -36.0331 2
new.dat(所需的)
-36.0331 11
这只是文件的一行。
最佳答案
可以使用for
循环。
awk '{s=0;for(i=2;i<=NF;i+=2)s+=$i;print$1,s}' old.dat > new.dat
关于linux - 用于汇总文件列的 awk 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32826394/