如何在制表符分隔的文本linux文件中的特定列中添加常量

时间:2018-12-21 22:49:37

标签: linux unix awk sed

我有一个文本文件,如下所示:

cpDNA 1226 1559已预测1
cpDNA 2874 7748 Predicted2
cpDNA 8244 9594已预测3

我想向第2列和第3列的所有值添加一个特定值(77244)。各列之间的空格是制表符。我该怎么办?

2 个答案:

答案 0 :(得分:2)

$ awk -v OFS='\t' -v val=77244 '{$2+=val; $3+=val}1' file

答案 1 :(得分:0)

这可能对您有用(GNU sed):

sed 's/\S*/&77244/2;s//&77244/3' file

或者您可能更喜欢:

val=77244; sed 's/\S*/&'$val'/2;s//&'$val'/3' file