次のファイルがあります。
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」に変更したいと思います。sed
orを使用する必要があることを知っていますが、awk
ファイル内の他の場所に複数の「M」があり、最初の列の項目だけを変更したいと思います。それでは、列に変更を割り当てる方法について提案がある人はいますか?あなたの助けをいただきありがとうございます:)
答え1
sedにMを取り、^ Mで始まるように指示したら、それを変更できます。
sed -i "s/^M/MT/g" filename
説明する:
-i
sedはファイルのエントリを置き換えるように指示されます。-i.bak
元のファイルをバックアップしたい場合に使用できます。^M
sed
は、で始まる行のみが一致することを示しますM
。