下線をスペースで区切る方法は? [閉鎖]

下線をスペースで区切る方法は? [閉鎖]

私は次のデータを持っています:

ID  Affection   rs3117294   rs2747453   rs2747454   rs2747457   rs3131888
D0024949    0   C_C A_G A_G A_A A_G
D0024302    0   A_C A_A A_G A_A A_A
D0023151    0   C_C A_G A_A A_A G_G
D0022042    0   A_C A_A G_G A_A A_A
D0021275    0   C_C A_G A_G A_A A_G
D0021163    0   A_A A_A G_G A_A A_A
D0020795    0   A_A A_A G_G A_C A_G
D0020691    0   A_A A_A G_G A_C A_G
D0019121    0   A_A A_A G_G C_C G_G

下線を空白に変更してC_CがCCになるようにしたいと思います。

どうすればいいですか?私が持っているすべてのデータに適用されるようにコードを一般化してください。

「私のコードではない」誰かから次の内容を受け取りましたが、 sed '1d' plink.raw | sed 's/_/ /g' > plinkv2.raw不完全なデータを含む空のセルが表示されます。

ベストアンサー1

グヌsed

sed -itmp 's/\(\w\)_\(\w\)/\1 \2/g' file

file元のファイルのバックアップを上書きして保存しますfile.tmp

POSIX sed:

sed 's/\([[:alpha:]]\)_\([[:alpha:]]\)/\1 \2/g' file > file2

別のファイルにリダイレクトする必要があります。file2必要な方はオリジナルにコピーしてください。

どちらも「逆参照」という概念を使用します。パターンに\(..があるテキストは、等に置き換えることが\)できます。\1\2

おすすめ記事