从bash csv中的列中减去数据

时间:2015-03-17 21:26:46

标签: bash

我在文件中有几列。我想减去两列......

他们有这些形式......没有小数......

1.000   900
1.012   1.010
1.015   1.005
1.020   1.010

我需要在同一个文件中使用减法

的另一列
100
  2
 10
 10

我试过了

awk - F "," '{$16=$4-$2; print $1","$2","$3","$4","$5","$6}'

但它给了我......

0.100
0.002 
0.010
0.010

有任何迹象吗?

2 个答案:

答案 0 :(得分:1)

使用此awk

awk -v OFS='\t' '{p=$1;q=$2;sub(/\./, "", p); sub(/\./, "", q); print $0, (p-q)}' file
1.000   900 100
1.012   1.010   2
1.015   1.005   10
1.020   1.010   10

答案 1 :(得分:0)

使用perl

perl -lanE '$,="\t",($x,$y)=map{s/\.//r}@F;say@F,$x-$y' file

打印:

1.000   900 100
1.012   1.010   2
1.015   1.005   10
1.020   1.010   10