1

ファイルの最初の列のタブを「:」と「-」の両方の記号に置き換えたい:

入力は次のようになります。

chr1:100-200 1 2 3e-4
chr2:300-400 4 5 6e-4

そして、出力を次のようにしたい:

chr1 100 200 1 2 3e-4
chr2 300 400 4 5 6e-4

「:」をタブに置き換えるために「%s/:/^I/g」でグローバルに置換する方法を知っています。

しかし、一部のエントリには 3e-4 などの科学表記の数字が含まれているため、単に "%s/-/^I/g" を使用して "-" をタブに置き換えることはできません。

最初の列のみに置換を指定する方法を知っている人はいますか?

ありがとう。

4

4 に答える 4

5

「Ctrl+V」を使用し、「VISUAL BLOCK」モードをアクティブにして、変更する列を選択し、「c」を押して変更を行い、「Esc」を押すと、選択したすべての列に適用されます。

于 2013-05-15T18:55:15.417 に答える
5

g so を使わないのはどうですか

%s/-/^|/
于 2013-05-15T18:53:14.073 に答える
2

のみeが問題である場合は、を使用して、 が先頭に追加されていない%s/\([^e]\)-/\1^I/gことを確認できます。-e

于 2013-05-15T18:57:19.157 に答える
1

最初の列の特殊なケースでは、gフラグをオフのままにしておくことができます。任意の列で機能する一般的なソリューションの場合、 ( Windows でよくある) を使用してブロック単位の視覚的選択を確立し、アトムを使用して視覚的選択への置換を制限します。<C-v><C-q>\%V

:%s/\%V-/\t/
于 2013-05-16T06:53:32.227 に答える