Как втиснуть -1 в файл

У меня есть файл вроде следующего

-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 ответа

Это не будет работать с tr, так как:

  • -1 будет рассматриваться как набор символов с двумя символами - а также 1ни одного токена -1

  • Также, даже если у вас есть один символ, вхождения должны быть соседними, чтобы tr применить операцию сжатия

Вы можете реализовать аналогичную функциональность в sed

$ echo "-1-1-1 2 -1" | sed -r 's/(-1)+/-1/g'
-1 2 -1

заменяет непрерывный поток -1с одним экземпляром.

Другие вопросы по тегам