8

私のファイルは次のようになります。

  1 chrX_73833098_73834098
  1 chrX_73889652_73890652
  1 chrX_91194501_91195501
  1 chrX_92000157_92001157
  1 chrX_92106500_92107500

最初の文字「1」を 0 に置き換えたいです。希望の出力は次のとおりです。

  0 chrX_73833098_73834098
  0 chrX_73889652_73890652
  0 chrX_91194501_91195501
  0 chrX_92000157_92001157
  0 chrX_92106500_92107500

これでそれをやろうとしています:

sed 's/^./0/g' file

しかし、出力は次のとおりです。

0     1 chrX_73833098_73834098
0     1 chrX_73889652_73890652
0     1 chrX_91194501_91195501
0     1 chrX_92000157_92001157
0     1 chrX_92106500_92107500

簡単に修正できる方法があると思いますが、わかりません。

4

2 に答える 2

15

各行の最初に空白文字があります。

あなたが試すことができます:

sed 's/^\s*./0/g' file

\s-空白文字に一致

出力:

0 chrX_73833098_73834098
0 chrX_73889652_73890652
0 chrX_91194501_91195501
0 chrX_92000157_92001157
0 chrX_92106500_92107500

空白文字を保持したい場合:

sed 's/^\(\s*\)\(1\)/\10/g' file

私もここで交換しました。1で

于 2012-04-13T11:50:58.180 に答える