LINUX.ORG.RU

[Perl]Что за символ ^M и как его убрать?


0

0

Есть скрипт на перле - задача скрипта заменить пустые строки и добавить теги в начале и в конце строки. С файлом созданным в Linux все работает прекрасно, а вот оффтопиковым .txt есть проблема - в конце строки (перед прикрепленным скриптом закрывающим тэгом) есть этот символ и он переводит на новую строку, мелочь, а неприятно.

если сделать ./script.pl | less то символ будет виден как ^M, сhomp его не удаляет.

Вопрос - что это за символ и как его удалить?

P.S. s/\^M//g не помогает.

[Perl]Что за символ ^M и как его убрать?

вендовый CR LF

вот CR это и есть ^M в отображении

Sylvia ★★★★★
()

[Perl]Что за символ ^M и как его убрать?

это не просто символ, а символ того что в никсах и офтопике по разному заканчиваюца строки. лечится открытием в kwrite и сохранением в нужном формате. еще вроде ident умеет такой финт проделывать в пакетном режиме.

smalcom
()

[Perl]Что за символ ^M и как его убрать?

Это символ перехода строки в вин/дос(он лишний для юникс). воспользуйся dos2unix

anonymous
()

[Perl]Что за символ ^M и как его убрать?

tr -d \\r

dilmah ★★★★★
()

[Perl]Что за символ ^M и как его убрать?

ну понаписали.. как бы перл и все такое .. там есть chomp

anonymous2 ★★★★★
()
Ответ на: [Perl]Что за символ ^M и как его убрать? от andreyu

Re: [Perl]Что за символ ^M и как его убрать?

dos2unix вам в помощь.


а если в текстовом файле часть в CR, часть в CR-LF, а часть в LF
(ну поредактировали то там то сям.)
то в результате фигня получится
так ли ?

anonymous
()
Ответ на: Re: [Perl]Что за символ ^M и как его убрать? от anonymous

Re: [Perl]Что за символ ^M и как его убрать?

> то в результате фигня получится

так ли ?


Вроде все пучком получится, но кто вам мешает проверить или посмотреть сорцы утилиты?

andreyu ★★★★★
()

[Perl]Что за символ ^M и как его убрать?

Ужас что тут насоветовали :)
Все гораздо проще если ты пользователь VIM'a.
Для того чтобы прыгать туда-сюда (unix-dos)
Открой нужный файл в VIM и набери

set fileformat=нужный_формат (dos/unix)

/profit

SANTA_CLAUS ★★
()
Ответ на: [Perl]Что за символ ^M и как его убрать? от SANTA_CLAUS

Re: [Perl]Что за символ ^M и как его убрать?

> Открой нужный файл в VIM и набери

set fileformat=нужный_формат (dos/unix)

/profit



Профита тут нет. Это просто переключит режим отображения конца строки. Человека интересовало, как конвертировать файл.

andreyu ★★★★★
()
Ответ на: [Perl]Что за символ ^M и как его убрать? от LamerOk

Re: [Perl]Что за символ ^M и как его убрать?

> > Это просто переключит режим отображения конца строки.

Садись, два.


Век живи - век учись. Может это и произведет конвертацию файла, проверять мне некогда. Только сделать конвертацию пачки файлов удобнее при помощи find и dos2unix.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.