Tomsk Sysadmins Forum

Windows => Разное => Topic started by: linx on August 21, 2007, 11:51:16

Title: Как проще всего сделать замену символов в файле?
Post by: linx on August 21, 2007, 11:51:16
Помогите плз идеей

Цель такая:
 Есть файл, в нём походу символы конца строки отсутствуют, но символы перехода на новую строку есть. Нужно привести в нормальный вид. Тоесть по найденному символу делать замену.
Как наиболее просто решить эту проблемму? Может както без программирования можно обойтись?
Title: Как проще всего сделать замену символов в файле?
Post by: Safir on August 21, 2007, 12:27:24
Quote from: linx
Помогите плз идеей

Цель такая:
 Есть файл, в нём походу символы конца строки отсутствуют, но символы перехода на новую строку есть. Нужно привести в нормальный вид. Тоесть по найденному символу делать замену.
Как наиболее просто решить эту проблемму? Может както без программирования можно обойтись?
unix2dos
Title: Как проще всего сделать замену символов в файле?
Post by: linx on August 21, 2007, 12:34:18
Quote from: Safir
unix2dos


??

У меня Windows, кстате мож утилита есть какая по замене символов??
Чувствую придётся свою прогу писать..
Title: Как проще всего сделать замену символов в файле?
Post by: demiurg on August 21, 2007, 12:42:48
Quote from: linx
Помогите плз идеей

Цель такая:
 Есть файл, в нём походу символы конца строки отсутствуют, но символы перехода на новую строку есть. Нужно привести в нормальный вид. Тоесть по найденному символу делать замену.
Как наиболее просто решить эту проблемму? Может както без программирования можно обойтись?
Если файл текстовый, то можно в редакторе gvim сделать set textmode и сохранить файл, ну или см. выше.
Опять же, если поставить unixutils, то появляются замечательные инструменты sed, awk, tr.
Title: Как проще всего сделать замену символов в файле?
Post by: Safir on August 21, 2007, 13:04:37
Quote from: linx
??

У меня Windows, кстате мож утилита есть какая по замене символов??
Чувствую придётся свою прогу писать..
а я что прндлагаю? Именно это данная утилита и делает - меняет окончания строк.
Смотри здесь: http://unxutils.sourceforge.net/ (http://unxutils.sourceforge.net/)
Title: Как проще всего сделать замену символов в файле?
Post by: linx on August 21, 2007, 13:18:19
Quote from: Safir
а я что прндлагаю? Именно это данная утилита и делает - меняет окончания строк.
Смотри здесь: http://unxutils.sourceforge.net/ (http://unxutils.sourceforge.net/)


 Мне нужно чтобы при её запуске она сама конвертила файл, если в ней нет пользовательского интерфейса и диалоговых окон и она спокойно запускается через командную строку под Виндой то поделитесь плиз    (внехи нету)
Title: Как проще всего сделать замену символов в файле?
Post by: demiurg on August 21, 2007, 17:58:18
Quote from: linx
Мне нужно чтобы при её запуске она сама конвертила файл, если в ней нет пользовательского интерфейса и диалоговых окон и она спокойно запускается через командную строку под Виндой то поделитесь плиз    (внехи нету)
Как же затрахали попрошайки... купите уже себе карточку VPN, 3.2 Мб обойдется Вам в 5(!) рублей максимум.
Кстати в UnxUtils.zip unix2dos нет, она есть отдельно, гугль в помощь.
Кстати Active Perl под винду при "чтении/записи" текстовых файлов заменяет \n на \r\n, нужно просто "сказать" ему выполнить "пустой" скрипт, например так
Code: [Select]
perl -pe '' < in-file.txt > out-file.txtдистрибутив есть тут ftp://apollo.chtd.tpu.ru/pub/lang/perl/ap...-x86-148120.msi (http://ftp://apollo.chtd.tpu.ru/pub/lang/perl/ap/ActivePerl-5.8.7.813-MSWin32-x86-148120.msi)

Хотя unix2dos безусловно "умнее", она даже "смешанные файлы" где есть строки с \n и \r\n приводит к  \r\n