【问题标题】:adding user value in increment order in csv file在 csv 文件中按递增顺序添加用户值
【发布时间】:2016-06-16 09:55:45
【问题描述】:

我有一个输入文件

Aq 1 1 c
Aq 1 1 c
Aq 1 1 c
Aq 1 1 c
Aq 1 1 c

我想在哪里添加我定义的变量

var=`cat value.txt'
echo $var

给我输出3213 现在通过使用以下推荐,我想将var 添加到第 2 列和第 3 列

awk '{FS="\t"}{print "chrM",sum1=$var+1,sum2=$var+1,$1,$2}' input.txt > output.txt 

但它不起作用。我想要的输出是:

Aq 3214 3214 c
Aq 3215 3215 c
Aq 3216 3216 c
Aq 3217 3217 c
Aq 3218 3118 c

【问题讨论】:

  • 请提供比“不工作”更多的细节。
  • 你得到的实际输出是什么?

标签: shell awk


【解决方案1】:

请尝试以下方法:

  awk -v var=<value of your variable> -F'\t' '{print $1,var+$2,var+$3,$4;}' input.txt > output.txt

【讨论】:

  • awk -v var=$var '{OFS="\t";打印 $1,($2+var),($3+var),$4}' input.txt > output.txt
  • @kapp,您是否意识到您的“期望输出”和迈克尔的解决方案不匹配?
猜你喜欢
  • 2021-09-13
  • 1970-01-01
  • 2020-10-31
  • 2012-06-21
  • 2015-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-31
相关资源
最近更新 更多