如何在文件

时间:2016-03-29 14:45:57

标签: linux bash centos tr vcftools

我有一个像

这样的文件
-1  1 -1
2  -1  2
-1  2  0

我想通过

挤压元素“-1”
tr -s  '-1' file

但它不起作用。

ADDED

我使用vcftools将vcf.gz更改为矩阵,元素为“0”,“1”或“2”(例如,chr1.012)(缺失值为“-1”)。但我发现每行的长度不同。所以我怀疑是否是因为“-1”。所以我想挤压“-1”元素。

2 个答案:

答案 0 :(得分:0)

它无法使用tr,因为:

  • -1将被视为包含两个字符-1的字符集,而不是一个令牌-1

  • 即使您只有一个字符,也需要将这些事件与tr应用挤压操作相邻

答案 1 :(得分:0)

您可以在sed

中实现类似的功能
$ echo "-1-1-1 2 -1" | sed -r 's/(-1)+/-1/g'
-1 2 -1

用一个实例替换-1 s的连续流。