gpt4 book ai didi

linux - 用于汇总文件列的 awk 命令

转载 作者:太空宇宙 更新时间:2023-11-04 05:38:36 25 4
gpt4 key购买 nike

我有一个文件 (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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com