Заменить точку во всем файле на NA без изменения структуры данных - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь заменить точку (.) На NA, но мой текущий код заменяет даже. сформировать десятичную точку, например, форму 0,01. Я использую

cat input.tsv |  sed -r 's/\./NA/g' > replaced.tsv

Я скопировал одну из строк ввода.

1   69091   A   C   M   L   .   1   69091   1   58954   OR4F5   +   ATG 1   0   a   ./. ./. ENSG00000186092 ENST00000335137 ENSP00000334393 1   0.13    0.26702 T   Q8NH21  OR4F5_HUMAN 1   0.0 0.02634 B   0.0 0.01257 B   0.589091    0.05577 N   1.339740    .   .   .   .   .   OR4F5_HUMAN M1L .   .   .   6.76    0.00529 T   -0.38   0.13435 N   NM_001005484.1  M1L 0.12    0.13350 -0.9577 0.39629 T   0.0009  0.00318 T   8   0.00708247797993    0.18931 T   0.109   0.31349 0.823   0.93536 Q8NH21  M1L Loss of sheet (P = 0.0817); Loss of disorder (P = 0.091); Loss of catalytic residue at V2 (P = 0.3992); Loss of solvent accessibility (P = 0.5485); Gain of helix (P = 0.5668)  -1.436194   0.01840 0.003   0.44378301154325944 0.03370 0.02063 0.06083 N   AEFI    c   -1.39413139690747   0.1192561   -1.53570515685522   0.09493324  0.02038 2.2163971633957E-5  0.03550 0.487112    0.13308 0   0.573888    0.26071 0   0.573888    0.22998 0   0.564101    0.26208 0   2.31    -4.63   0.03101 -0.055000   0.11668 -1.983000   0.00506 0.000000    0.06329 0.000000    0.01567 0.2547:0.0:0.5282:0.2171    3.5592  0.07372 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .

Желаемый вывод

1    69091   A   C   M   L   NA   1   69091   1   58954   OR4F5   +   ATG 1   0   a ./. ./. ENSG00000186092 ENST00000335137 ENSP00000334393 1   0.13    0.26702 T   Q8NH21  OR4F5_HUMAN 1   0.0 0.02634 B   0.0 0.01257 B   0.589091    0.05577 N   1.339740    NA  NA  NA  NA  NA  OR4F5_HUMAN M1L NA  NA  NA  6.76    0.00529 T   -0.38   0.13435 N   NM_001005484.1  M1L 0.12    0.13350 -0.9577 0.39629 T   0.0009  0.00318 T   8   0.00708247797993    0.18931 T   0.109   0.31349 0.823   0.93536 Q8NH21  M1L Loss of sheet (P = 0.0817); Loss of disorder (P = 0.091); Loss of catalytic residue at V2 (P = 0.3992); Loss of solvent accessibility (P = 0.5485); Gain of helix (P = 0.5668)  -1.436194   0.01840 0.003   0.44378301154325944 0.03370 0.02063 0.06083 N   AEFI    c   -1.39413139690747   0.1192561   -1.53570515685522   0.09493324  0.02038 2.2163971633957E-5  0.03550 0.487112    0.13308 0   0.573888    0.26071 0   0.573888    0.22998 0   0.564101    0.26208 0   2.31    -4.63   0.03101 -0.055000   0.11668 -1.983000   0.00506 0.000000    0.06329 0.000000    0.01567 0.2547:0.0:0.5282:0.2171    3.5592  0.07372 NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA

1 Ответ

0 голосов
/ 08 мая 2018

как то так?

sed -E 's/(^| )\.( |$)/ NA/g' file

ищет точку с окружающими пробелами, также проверяя начало или конец строки. Вы должны съесть одно из мест, хотя. Я выбрал правильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...