免责声明:我是新手。
我一直在广泛寻找问题的答案,但没有成功。如果我没有找到关于此的帖子,请向我推荐!
我一直在尝试使用 awk 计算相当大的数据文件的每一行中每个字段的累积和。任何帮助将非常感激。
我的文件包含数十万行,其中行的长度(字段数量)各不相同,并且最多可以有 100 个字段(即最多 100 列)。输入看起来像这样(但实际数字要大得多)并且是制表符分隔的:
12 9 2 1 7 1 4 5 1 7
19 1 1 1 1 1 1 2 5 1
45 1 5 1 8 1 2 1 4 1
我希望输出的格式为“新字段 2 = 字段 1 + 字段 2”和“新字段 3 = 字段 1 + 字段 2 + 字段 3”等,即输出应如下所示(在新文件中打印) ):
12 21 23 24 31 32 36 41 42 49
19 20 21 22 23 24 25 27 32 33
45 46 51 52 60 61 63 64 68 69
我一直在尝试使用 awk,但我一生都无法让它适用于每个领域(我不想输入命令一百次)。
显然我对这一切都是新手,任何有效的解决方案都会让我高兴。不一定是 awk。预先感谢您的任何帮助!
下列的awk
可能会在这里帮助你。
awk '{for(i=2;i<=NF;i++){$i=$i+$(i-1)}} 1' Input_file
解释:
awk '{
for(i=2;i<=NF;i++){ ##Starting a for loop from value of 2 to till value of NF.
$i=$i+$(i-1)}} ##Adding value of current field with previous field here and assigning to itself.
1 ##Mentioning 1 to print the current line with edited field values.
' Input_file ##Mentioning Input_file name here.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)