1

Я использую Cygwin и сделал текстовый файл, используя скрипт Perl.

Добавлен ^ M (возврат Windows Cariage), и я понятия не имею, как.

Как мне найти ^ M, когда обычные способы (^ m dos2unix и sed или "grep -r $ '\r' *") не работают?

при использовании меньше file01 я могу видеть ^ M, но я не могу сопоставить его ни с чем (ни с \r, ни с ^ V ^ M).

При использовании Col (см. Man col) я избавляюсь от него и нескольких других вещей (я получаю очень, очень странный вывод)

нормальный выход:

JAN131005 GO:0009055 // GO:0020037 // GO:0003723 // GO:0006468 // GO:0016023 // GO:0003676 // GO:0003964 // GO:0005515 // GO:0004672 // GO:0000166 / / GO:0004497 // GO:0006278 // GO:0009055 // GO:0020037 // GO:0003723 // GO:0006468 // GO:0016023 // GO:0003676 // GO:0003964 // GO:0005515 / / GO:0004672 // GO:0000166 // GO:0004497 // GO:0006278 ^ M // GO:0009055 // GO:0020037 // GO:0003723 // GO:0006468 // GO:0016023 // GO:0003676 // GO:0003964 // GO:0005515 // GO:0004672 // GO:0000166 // GO:0004497 // GO:0006278 ^ M // GO:0003964 // GO:0003723 // GO:0006278 // GO:0005488 // GO:0003676 ^ M // GO:0005622 // GO:0000166 // GO:0005886 // GO:0006950 // GO:0009628 // GO:0009719 // GO:0005515 // GO:0006950 // GO:0005515 // GO:0006950 // GO:0003674 // GO:0008150 // GO:0003676 ^ M // GO:0003676 ^ M // GO:0003964 // GO:0003723 // GO:0006278 / / GO:0005488 // GO:0003676

после "col <file01> test01" меньше test01 дает:

J// 1GO:0003964 // OGO:0003723 /// OGO:0006278 /// OGO:0005488 /// OGO:0003676 /// OGO:0009719 /// OGO:0005515 /// OGO:0006950 /// OGO:0005515 /// OGO:0006950 /// OGO:0003674 /// OGO:0008150 /// OGO:0003676 // GO:0009055 // GO:0020037 // GO:0003723 // GO:0006468 // GO:0016023 // GO:0003676 // GO:0003964 // GO:0005515 // GO:0004672 // GO:0000166 // GO:0004497 // GO:0006278

как видите, я снял проблему и заменил ее на 2 других ... Может кто-нибудь объяснить, что col удаляет здесь и как, а также как я должен удалить его, чтобы просто удалить ^ M?

1 ответ1

2

Проблема в том, что \r не работает, вместо этого используйте \015:

tr -d "\015" <inputfile> outputfile

по какой-то причине \015 (восьмеричный литерал) работает, когда не работает \r и т. д.

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