URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 1543
[ Назад ]

Исходное сообщение
"удалить символ конца строки"

Отправлено Wital , 14-Ноя-07 10:26 
Каким образом из файла сохраненного в виндосе удалить символ конца строки, т.е. при открытии отображается примерно так

^M
-- -----^M
^M


Содержание

Сообщения в этом обсуждении
"удалить символ конца строки"
Отправлено newser , 14-Ноя-07 10:35 
>Каким образом из файла сохраненного в виндосе удалить символ конца строки, т.е.
>при открытии отображается примерно так
>
>^M
>-- -----^M
>^M

Есть утилита dos2unix - самый простой вариант. Можно при помощи sed (например, так: sed 's/^M//' ...), либо при помощи tr.


"удалить символ конца строки"
Отправлено dendery , 14-Ноя-07 10:58 
>Каким образом из файла сохраненного в виндосе удалить символ конца строки, т.е.
>при открытии отображается примерно так
>^M

dos2unix, unix2dos


"удалить символ конца строки"
Отправлено Wital , 14-Ноя-07 11:40 
sed 's/^M//' не подходит, символы не удаляются.
Помню, что видел как-то команду для удаления через консоль.
Программа это конечно хорошо, но может кто что ище интересного подскажет.

"удалить символ конца строки"
Отправлено angra , 14-Ноя-07 15:10 
легко
1. tr, sed
2. любой язык программирования, наиболее логичным будет perl ибо в одну строку
3. vim - открываем файл, :set ff=unix(или mac или dos), сохраняем.
4. различные гуевые редакторы и утилиты.


"удалить символ конца строки"
Отправлено angra , 14-Ноя-07 15:13 
Пришло в голову еще одно извращение запихиваем файл в svn, ставим ему аттрибут eol=native, забираем из svn.
вообще говоря извратов еще очень много можно придумать. На практике использую либо однострочник на perl/sed либо vim

"удалить символ конца строки"
Отправлено sweer , 14-Ноя-07 17:35 
Никаких извращений

col bx < old > new
old - старый файл
new - без ^M


"удалить символ конца строки"
Отправлено Wital , 15-Ноя-07 02:50 

Правильно будет так:

cat /tmp/qqq1.txt | col -bx > qqq1_1.txt


"удалить символ конца строки"
Отправлено angra , 15-Ноя-07 09:35 
>Правильно будет так:
>
>cat /tmp/qqq1.txt | col -bx > qqq1_1.txt

это как раз неправильно :)


"удалить символ конца строки"
Отправлено sweer , 16-Ноя-07 13:44 
>>Правильно будет так:
>>
>>cat /tmp/qqq1.txt | col -bx > qqq1_1.txt
>
>это как раз неправильно :)

да, это неправильно, ознакомьтесь с работой col.

Мне несложно использовать временный файл:
col bx < old > new; mv new old


"удалить символ конца строки"
Отправлено Nick , 03-Фев-12 12:53 
> Каким образом из файла сохраненного в виндосе удалить символ конца строки, т.е.
> при открытии отображается примерно так
> ^M
> -- -----^M
> ^M

попробуй вот так:

sed  's/.$//' исходный_файл > полученный_файл