列の短い繰り返し単語を数値に変換

列の短い繰り返し単語を数値に変換

列の短い繰り返し単語を数字に変換したいです。

(with ONLY 2 LETTERS)以下の例では、3列の単語を数字に変更して、または、またはにAA変更できるようにしたいと思います。2ABBA1BB0

最初と2番目の列には、およびを含めることもAAできBBますABBAこれは変更しないでください。

" "列は()で区切られます。

Id_animal Id_SNP Allele
ID01 rs01 AB
ID02 rs01 BA
ID03 rs01 AA
ID04 rs01 BB

希望の出力は次のとおりです。

Id_animal Id_SNP Allele
ID01 rs01 1
ID02 rs01 1
ID03 rs01 2
ID04 rs01 0

ベストアンサー1

sed -i.bak -r 's/ AA$/ 2/;s/ (AB|BA)$/ 1/;s/ BB$/ 0/' input
  • -i.bak場所で編集して元のファイルのバックアップを作成するinput.bak
  • -r拡張正規表現構文
  • s/ AA$/ 2/「AA」の終了文字シーケンスを2に置き換えます。
  • (AB|BA)ABまたはBA
  • ;別々の交換作業の分離

おすすめ記事