番号を見つけて別の番号に置き換えてください。

番号を見つけて別の番号に置き換えてください。

使用し0,1,2たい遺伝子型マトリックスを作成しました。-19

0   0   -1  0   0   0   0   2   0   0   0   0   -1
0   0   1   0   0   0   0   0   0   0   0   -1   1
0   0   2   0   0   -1  2   0   0   0   -1  0    0

私はこれを試しました:

sed -ie 's/^[-1] /9 /' file1 > file2

しかし、うまくいかないようです。

これを行う方法はありますか?

答え1

sed 's/-1/9/g' file > file2

答え2

sed -i 's/-1/9 /g' file
sed 's/-1/9 /g' file1 > file2

答え3

安全な方法で行うには:

sed -e '
   s/$/ /
   :a;s/ -1 / 9 /;ta
   s/.$//
' file1

どこ

  • s/$/ /行の末尾にスペースを挿入します。
  • :a;s/ -1 / 9 /;ta交換を実行します(行が-1で終わる場合はスペースが必要です)。
  • s/.$//行末のスペースを削除

答え4

私は答えを見つけました

sed -E 's/[-1] / 9/' file1 > file2

これができます。

関連情報