我挖掘了很多线程,但是他们都没有解决这个问题。

我对addind字符串chr到每一行的开头很感兴趣。
文件由制表符分隔,看起来像:

re1 1   AGT
re2 1   AGT
re3 2   ACGTCA
re12    3   ACGTACT

我需要的是:
re1 chr1    AGT
re2 chr1    AGT
re3 chr2    ACGTCA
re12    chr3    ACGTACT

可以在bash oneliner中

非常感谢您的帮助,
干杯,
伊雷克

最佳答案

那这个呢?

$ awk '$2="chr"$2' file
re1 chr1 AGT
re2 chr1 AGT
re3 chr2 ACGTCA
re12 chr3 ACGTACT

解释

使用$2="chr"$2,我们将chr添加到第二个字段。然后,我们不需要任何其他命令即可获得所需的输出,因为awk的默认行为是print $0

要确保OFS(输出字段分隔符)是一个选项卡,您可以执行以下操作:
$ awk 'BEGIN{OFS="\t"}$2="chr"$2' file
re1     chr1    AGT
re2     chr1    AGT
re3     chr2    ACGTCA
re12    chr3    ACGTACT

关于string - 在列开头的每一行中添加字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18061606/

10-12 19:49