列のドットと数字を削除する方法は?

列のドットと数字を削除する方法は?

次のデータがあります。

head l4
chr   pos a1 a2 a3 variant_id         pval_nominal gene_id
chr1 13550 G A b38 chr1_13550_G_A_b38 0.375614 ENSG00000227232.5
chr1 14671 G C b38 chr1_14671_G_C_b38 0.474708 ENSG00000227232.5
chr1 14677 G A b38 chr1_14677_G_A_b38 0.699887 ENSG00000227232.5

最後の列の点と数字を削除したいです。常に5ではなく、任意の数字にすることができます。

だから、次のデータがあります。

chr pos a1 a2 a3 variant_id pval_nominal gene_id
chr1 13550 G A b38 chr1_13550_G_A_b38 0.375614 ENSG00000227232
chr1 14671 G C b38 chr1_14671_G_C_b38 0.474708 ENSG00000227232
chr1 14677 G A b38 chr1_14677_G_A_b38 0.699887 ENSG00000227232

私はこれを試しました:

sed 's/\..*$//' l4 > l4_clean

しかし、これは他の多くのものを排除します。

ベストアンサー1

より具体的な正規表現パターンを適用します(数字/数字と一致するように)。

sed 's/\.[0-9]*$//' l4 > l4_clean

おすすめ記事