2列の文字を数字に変換したいです。
以下の例では、2列と3列の文字を数字に変更したいと思います。つまり、A
into 1
、B
into 2
、C
into3
ですG
。4
最初の列には文字とを含めることもできますA
。これらはB
C
G
いいえ変更されました。
/
列は()で区切られています<space><slash><space>
。
Id_animal / Column1 / Column2
ID01 / A / B
ID02 / B / A
ID03 / C / A
ID04 / A / G
希望の出力は次のとおりです。
Id_animal / Column1 / Column2
ID01 / 1 / 2
ID02 / 2 / 1
ID03 / 3 / 1
ID04 / 1 / 4
ベストアンサー1
列を 2 つのグループに切り捨てます。 1つは最初の列を含み、もう1つは2番目と3番目の列を含みます。
2番目のグループの文字を数字で反転します。
すべてを再度貼り付けます。
コマンドラインから:
$ cat data
Id_animal / Column1 / Column2
ID01 / A / B
ID02 / B / A
ID03 / C / A
ID04 / A / G
ABCG / G / G
$ paste -d '/' <(cut -d '/' -f 1 data) <(cut -d '/' -f 2,3 data | tr 'ABCG' '1234')
Id_animal / 3olumn1 / 3olumn2
ID01 / 1 / 2
ID02 / 2 / 1
ID03 / 3 / 1
ID04 / 1 / 4
ABCG / 4 / 4
タイトルにボーナス番号が表示されます... :-)