![]() |
Модераторы: ginnie, korob2001 |
![]() ![]() ![]() |
|
burakov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Добрый день.
под linux конец строки набранный под windows отображается как знак "^M" как при помощи perl его удалить по всему файлу? и возможно ли это сделать под windows? (или это нужно делать на самом linux. вот такая вот конструкция $_ =~ s/\^M//g; НЕ ПОМОГЛА! большое спасибо. |
|||
|
||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
s/\r//; Под linux этого достаточно. Чтобы работало под windows, нужно записывать файл в binmode.
|
|||
|
||||
burakov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Спасибо, помогло!
|
|||
|
||||
ramus |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.2.2008 Репутация: нет Всего: 1 |
Я для кроссплатформенности (WINDOWS, LINUX) использую такой подход
сначала удаляю конец строки в прочитанной строке
а потом добавляю если надо например записать файл в формате WINDOWS (причем скрипт может работать как в WINDOWS так и в LINUX)
|
||||
|
|||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: нет Всего: 17 |
подскажите как сохранить
в общем есть текст вот это делает прямую строку s/\r//; , а нужно чтобы просто удалил ^M/
как записать файл и просто удалить? |
|||
|
||||
ramus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.2.2008 Репутация: нет Всего: 1 |
Уважаемый gcc !
Не совсем понял Ваш вопрос... Что требуется "просто удалить"? Возможно Вы хотели построчно читать входной файл, редактировать прочитанную строку (убрать 0D, оставив только 0A или в десятичной системе счисления "10") и записать строку в выходной файл. Затем удалить входной файл. Если это так, то вот немного переделанный Ваш пример (каждый раз открывать файл на прочитанную строку в цикле слишком жестоко по отношению к компьютеру ![]()
PS Обычно вместо MA и DB я использую более осмысленные, что то типа FI (file input) и FO (file output). Здесь оставил как в Вашем оригинальном тексте ... |
|||
|
||||
gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: нет Всего: 17 |
сделал |
||||
|
|||||
amg |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
Не проще ли cp file1.txt file2.txt ? Результат должен быть тот же ![]() Может, Вы хотели perl -pe 's/\r$//' file1.txt > file2.txt ? (Либо perl -i -pe 's/\r$//' file*.txt) |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Perl: Системное программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |