特定の列にタブを追加する

特定の列にタブを追加する

次のデータがあり、タブで区切られていますが、一部の列はタブで区切られていません。データがすべてタップ間隔であることを確認するには?

これはいくつかのデータです。

rs987435    C   G   1   1   2   1   20
rs345783    C   G   1   1   1   1   01
rs955894    G   T   2   2   2   2   22
rs6088791   A   G   1   0   1   0   22
rs11180435  C   T   1   1   1   1   10
rs17571465  A   T   2   2   2   2   22
rs17011450  C   T   2   2   1   2   22
rs6919430   A   C   2   2   2   2   22
rs2342723   C   T   0   0   0   0   01
rs11992567  C   T   2   2   2   2   22

ご覧のとおり、列4から始まる列は0、1、2のみですが、列8はそうではありません。この数字の間にタブ文字を追加する必要があります。 Linuxではどうすればいいですか?

ベストアンサー1

Linuxを使用しているので、BSD SedではなくGNU Sedを使用するので、次のように簡単に実行できます。

sed 's/.$/\t&/' file.txt

コマンドラインに表示される出力に満足したら、次のフラグを使用して「in-place」(つまりファイルに再保存)を実行します-i

sed -i 's/.$/\t&/' file.txt

これは、各行の最後の文字の前にタブ文字を挿入することです。

おすすめ記事