Bash 奇数线上的算术运算

Bash 奇数线上的算术运算,bash,awk,Bash,Awk,你好 我想知道如何用awk做算术运算,只在奇数行上 到目前为止,我已经做了: SUM=100 ; awk -v var1=$SUM '{sum = $1 + var1 ;print $(NR%2=1?sum:"0")}' file 输入 1 2 3 4 预期产出 101 2 103 4 提前感谢您提供的任何线索或建议。您想要这个吗 awk -v var1="$SUM" 'NR%2{$0+=var1}7' file 它输出: 101 2 103 4 谢谢,如果我问你NR%2{$0=$0+

你好

我想知道如何用awk做算术运算,只在奇数行上

到目前为止,我已经做了:

SUM=100 ; awk -v var1=$SUM '{sum = $1 + var1 ;print $(NR%2=1?sum:"0")}' file
输入

1
2
3
4
预期产出

101
2
103
4
提前感谢您提供的任何线索或建议。

您想要这个吗

awk -v var1="$SUM" 'NR%2{$0+=var1}7' file
它输出:

101
2
103
4

谢谢,如果我问你
NR%2{$0=$0+var1}7
是如何工作的,会不会太过分?@Alejandro如果是奇数行号,请在输入行加上,否则保持输入行不变,最后打印行。@Alejandro:关键是
NR
是当前行数<如果
NR
为奇数,则code>NR%2将为非零(true)。谢谢@JimMischel。我没有说清楚,我想做的是:用奇数行做一个算术运算,用偶数行做另一个算术运算,两个算术运算打印在同一个输出中。你应该发布一个新问题,而不是用其他查询更新回答的问题。