查找一个数字并将其替换为另一个数字

查找一个数字并将其替换为另一个数字

我创建了一个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

可以做这份工作

相关内容