Em awk
:
{
for (i = 1; i <= NF; ++i) {
printf("%d ", s += $i);
}
printf("\n");
}
O loop passa por todos os campos de entrada e imprime o total em execução ( s
) dos números. A variável s
não precisa ser inicializada, pois seu valor será considerado zero na primeira iteração. O resultado da atribuição a s
é o valor de s
, que é então impresso com um caractere de espaço à direita.
Com a entrada de exemplo:
$ echo "1 5 6 8 9 11" | awk -f script.awk
1 6 12 20 29 40