使用awk进行四则运算
file:
134.123.345.2
3.4.5.6
想得出整数:
134*4+123*3+345*2+2
3*4+4*3+5*2+6
134.123.345.2
3.4.5.6
想得出整数:
134*4+123*3+345*2+2
3*4+4*3+5*2+6
作者: tomer 发布时间: 2011-06-12
本帖最后由 yinyuemi 于 2011-06-12 14:50 编辑
回复 tomer
复制代码
回复 tomer
- awk -F'.' '{x=NF;for(i=1;i<=NF;i++) a+=$i*x--;print a;a=0}' file
- 1597
- 40
作者: yinyuemi 发布时间: 2011-06-12
- perl -F'\.' -lane 'print $F[0]*4+$F[1]*3+$F[2]*2+$F[3]*1' urfile
作者: Shell_HAT 发布时间: 2011-06-12
- awk -F'.' '{a=NF;x=0}{for(i=1;i<=NF;i++){x+=$i*a;--a}print x}' file
- 1597
- 40
作者: zooyo 发布时间: 2011-06-12
回复 yinyuemi
a+=$i*x-- 师父,你这句太精辟了,发挥得淋漓尽致。
a+=$i*x-- 师父,你这句太精辟了,发挥得淋漓尽致。
作者: zooyo 发布时间: 2011-06-12
回复 zooyo
or:
复制代码
or:
-
- awk -F'.' '{for(i=NF;i>=1;i--) a+=$(++x)*i;print a;a=x=0}'
作者: yinyuemi 发布时间: 2011-06-12