如何更改文件中某一列的内容?

如何更改文件中某一列的内容?

我有一个看起来像这样的文件:

1   mm10_rmsk   exon    67108753    67108881    239.000000  +   .   gene_id "RLTR17B_Mm"; transcript_id "RLTR17B_Mm"; 
1   mm10_rmsk   exon    134217652   134217732   230.000000  -   .   gene_id "BC1_Mm"; transcript_id "BC1_Mm"; 
M   mm10_rmsk   exon    16776989    16779051    32159.000000    +   .   gene_id "L1_Mus1"; transcript_id "L1_Mus1"; 
M   mm10_rmsk   exon    33554409    33554640    216.000000  -   .   gene_id "B4"; transcript_id "B4"; 

那里大约有几百万行,我想将第一列中的“M”更改为“MT”。我知道我应该使用sedorawk但在文件中其他地方有几个“M”,我只想更改第一列中的那些。那么有人建议如何指定对一列的更改吗?感谢您的帮助 :)

答案1

如果您告诉 sed 采取 M 并以 ^M 开头,则可以更改它们。

sed -i "s/^M/MT/g" filename

解释:

  • -i指示 sed 替换文件中的条目。-i.bak如果您想备份原始文件,可以使用。
  • ^M将指示sed仅匹配以 开头的行M

相关内容