awk は、列が存在しない場合に追加します。

awk は、列が存在しない場合に追加します。

3列(説明)に「;」がない場合は、追加してファイルを区別したいと思います。はい。

#Gene;Transcripts;Description;Group
gene1;G1a,G1b,G1c;gene1 is a good gene;6
gene2;G2a,G2b,G2c;gene2 is a funny gene;3
gene3;G3a,G3b;4
gene4;G4a;gene4 description;5
gene5;G5a,G5b;6

期待される出力

#Gene;Transcripts;Description;Group
gene1;G1a,G1b,G1c;gene1 is a good gene;6
gene2;G2a,G2b,G2c;gene2 is a funny gene;3
gene3;G3a,G3b;No description;4
gene4;G4a;gene4 description;5
gene5;G5a,G5b;No description;6

ベストアンサー1

これを見るために少し異なる方法は、「4つのデータ列がない場合は、列3を列4に移動し、列3を説明なしに設定する」ことです。

その結果、次のコードが生成されます。

awk -F';' 'BEGIN {OFS=";"} NF!=4 {$4=$3; $3="No description"} {print}'

おすすめ記事