一列总和,直到达到特定计数

时间:2019-03-28 07:02:55

标签: bash shell unix scripting

我有一个文件ABC.txt,其中包含两列。第一列指的是计数,第二列指的是订户,如下所示:-

   1852 919474214491  
   1558 919475591746  
   1149 919475594574  
      1 919466423350  

我在脚本中有一个变量,它显示一些数值,即Count是3500。

所以我想将变量与ABC.txt文件中的第一列进行比较。如果第一列中的值小于变量,则将第二列中的值移动到单独的文件(123.txt)中。转到下一行,现在将1852与1558相加,然后再次与变量比较,如果小于变量,则将值移到文件123.txt的第二列中。但是,如果计数总和大于变量,则停止。

1 个答案:

答案 0 :(得分:1)

使用awk确实很容易:

$ awk -v count=3500 '{ total += $1 } total >= count { exit } { print $2 }' ABC.txt
919474214491
919475591746