使用awk仅将文件中的数字与修订号相乘

时间:2017-02-09 00:37:34

标签: linux awk

我有空格分隔文件,其中包含字符串和数字。我想只用2号码。

到目前为止,我正在做

!awk '{for(i=1;i<=NF;i++) $i ~/[^0-9]+/ $i=$i*2; print $0}'

我知道我的print $0陈述错误的地方,但我不知道正确的方法。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

将所有数字乘以2

$ awk '{for(i=1;i<=NF;i++) if($i+0==$i) $i*=2}1'

答案 1 :(得分:0)

另一个,但使用三元运算符:

$ awk '{ for(i=1; i<=NF; i++) (j=$i*2 ? j : $i) } 1' file