ファイルの列の内容を変更するには?

ファイルの列の内容を変更するには?

次のファイルがあります。

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"; 

そこには約100万行があり、最初の列の「M」を「MT」に変更したいと思います。sedorを使用する必要があることを知っていますが、awkファイル内の他の場所に複数の「M」があり、最初の列の項目だけを変更したいと思います。それでは、列に変更を割り当てる方法について提案がある人はいますか?あなたの助けをいただきありがとうございます:)

答え1

sedにMを取り、^ Mで始まるように指示したら、それを変更できます。

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

説明する:

  • -isedはファイルのエントリを置き換えるように指示されます。-i.bak元のファイルをバックアップしたい場合に使用できます。
  • ^Msedは、で始まる行のみが一致することを示しますM

関連情報