Ниже приведена проверка окончания строки. Просто любопытно, что это I? Я знаю, что M вызывает проблемы. Спасибо :).

cmccabe@DTV-A5211QLM:~/Desktop/bed$ head -10 xgen_targets_unix.bed | cat -et
chr1^I955543^I955763^IAGRN-6|pr=2|gc=75^I0^I+$
chr1^I957571^I957852^IAGRN-7|pr=3|gc=61.2^I0^I+$

по сравнению с оконными строками

cmccabe@DTV-A5211QLM:~/Desktop/bed$ head -10 xgen_targets.bed | cat -et
chr1^I955543^I955763^IAGRN-6|pr=2|gc=75^I0^I+^M$
chr1^I957571^I957852^IAGRN-7|pr=3|gc=61.2^I0^I+^M$

1 ответ1

1

^ M - это символ (13), также известный как \r, а ^ J - это символ (10), также известный как \n

Вы склонны не видеть ^ J в списке как ^ J, хотя. Для \r \n это ^ M ^ J Некоторые редакторы могут позволить вам войти в ^ M и / или ^ J с контролем.

А учитывая таблицу ascii и то, что я - 9-я буква, без сомнения ^ я - char(9) - табуляция

Вы можете ясно видеть символы с помощью xxd -p, но мы попробуем и вашу команду cat -et

Мы видим, что когда cat -et показывает $, это означает, что \n Итак, ^ M $ это \r \n

C:\>echo abc>a.a

C:\>cat a.a | xxd -p
6162630d0a

C:\>cat a.a -et
abc^M$

C:\>dos2unix a.a
Dos2Unix: Processing file a.a ...

C:\>cat a.a -et
abc$

C:\>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .