LinuxForum.Fans
Тема

заменить символ новой строки.

Автор: moshell 29 сообщений 7090 просмотров
#343029

отчет читается в off-топе, а генерируется в on-топе.

создаю .txt файл, отдаю его "читателям"
читателям, мягко говоря, "не нравится" постоянно открывать его в word-pade, хотят открывать его в блокноте.
в блокноте текст уплывает далеко вправо, игнорируя символ новой строки.

как заменить символ новой строки на офтопный, чтобы можно было блокнотом открывать?

#343030

man unix2dos ;)

#343036

спасибо, работает.
и текст распознается в винде и новые строки.

только вот в линуксе уже крокозябра появляется.

в какую кодировку лучше кодировать чтоб в линуксе тоже было читабельно?


//add
разобрался
unix2dos -n inputfile outputfile
данная опция равносильна

-ascii
Convert only line breaks. This is the default conversion mode.
#343038
"moshell" написал:
только вот в линуксе уже крокозябра появляется.
в какую кодировку лучше кодировать чтоб в линуксе тоже было читабельно?

Кракозябры появляются после unix2dos? Тогда попробуйте использовать sed :

text

$ sed -i -e 's/$/\r/' <file>
#343058
"moshell" написал:
только вот в линуксе уже крокозябра появляется.

в какую кодировку лучше кодировать чтоб в линуксе тоже было читабельно?
text
sed -ri 's/\s*$//' <filename>

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

'\r' тоже пробельный, и значит в *NIX -- возврат каретки. Только я не понимаю, откуда кракозябры? Чем читали? Нормальный редактор нарисует там пробел, или что-то подобное. Консоль переведёт каретку в начало, что никак НЕ изменит вывод, т.к. там \n

text
$ echo -e "ABC\rXY"
XYC
#343061

и да, проблема с кодировками решается программой

text
iconv -f ОТКУДА -t КУДА <filename>

причём если вам нужно ПРОЧИТАТЬ маздайный текст, то КУДА писать не нужно. Системе лучше знать, КУДА.

#343071

Док, я буду скучать

#343082

moshell, я никуда не денусь. Если что: http://emulek.blogspot.ru
там можно писать вопросы по поводу работы в командной строке.

#343105
drBatty написал:
moshell, я никуда не денусь. Если что: http://emulek.blogspot.ru
там можно писать вопросы по поводу работы в командной строке.

ну все. ухожу с линфорума.
пусть лучше один док надо мной ржать будет чем целая армия Ъ-шников :D

#343119

"drBatty" написал:
нарисует там пробел, или что-то подобное
Пожалуй, чаще всего вместо \r будет "нарисован" ^M.
#343129
bormant написал:
Пожалуй, чаще всего вместо \r будет "нарисован" ^M.

в самое яблочко!

#343130
moshell написал:
[quote=bormant]Пожалуй, чаще всего вместо \r будет "нарисован" ^M.

в самое яблочко![/quote]Хотите знать, почему? ;-)

#343133
-=Serj=- написал:
text

$ sed -i -e 's/$/\r/' <file>

drBatty написал:
text
sed -ri 's/\s*$//' <filename>

что то я не понял. вывода от команды никакой. куда идет вывод?

#343136
"moshell" написал:
что то я не понял. вывода от команды никакой. куда идет вывод?

man sed, ключик -i
http://www.lissyara.su/doc/man/sed/

#343161

"bormant" написал:
Хотите знать, почему? ;-)
потому-что это "пробел или что-то подобное".

"moshell" написал:
что то я не понял. вывода от команды никакой. куда идет вывод?
во временный файл. Который потом переименовывает, а старый удаляет(или тоже переименовывает).
#343162
"-=Serj=-" написал:
man sed, ключик -i
http://www.lissyara.su/doc/man/sed/

-i extension Редактирует файлы с замещением, сохраняя резервную копию с указанным расширением. Если расширение не указано (нулевой длины), резервная копия не будет сохраняться. Не рекомендуется присваивать нулевое расширение к замещаемым файлам, поскольку вы рискуете полностью или частично повредить файл, когда место на диске исчерпано.
вот автор этого мана умный, ажно жуть берёт. Зачем-то свой бред приписал... Про "повреждение"...
#343217

все это я уже узнал (про ключ -i). но все равно спасибо.
только вот толку нету. как было так и осталось. с виду все ок. file -i что там - что там - показывает одно и то же charset=utf-8

так в чем же разница?

кстати что за utf-8 который с BOM и который без него? (notepad++ по разному их видит)


в общем так. генерирую некий файл в линуксе(guest), без перекодирования, путем копипаста из консоли (через putty) мышью переношу его в виндовс(host), создаю файл в виндовсе и копирую в него - тогда все гуд, далее "заказчики" удовлетворены. потому что эти скрипты они кидают в некую шайтан машину, конфигурируют ее.

а если генерирую этот файл в линуксе, перекодирую (иначе в блокноте всё убегает вправо, в отличие от первого метода) и кидаю этот файл в "портал между гостевой ос и host" {/mnt/hgfs/shara/...} то тут уже какая то беда. "Заказчик" говорит что шайтан машина не воспринимает правильно - интерпретирует табуляцию как хз что.

и вот не в курсе в какой фазе луна сегодня?
с виду оба варианта выдают charset=utf-8.
так в чем беда?



и для чего мне нужен ответ.
меня напрягает мышью копипастить. я хочу просто выполнять скрипт и его детище отсылать почтой без лишних манипуляторов

#343218
"moshell" написал:
а если генерирую этот файл в линуксе

Пример получившегося файла увидеть бы.

text

$ cat -A <file>
"moshell" написал:
перекодирую

И этот файл.

#343219
-=Serj=- написал:
[quote="moshell"]а если генерирую этот файл в линуксе

Пример получившегося файла увидеть бы.

text

$ cat -A <file>
"moshell" написал:
перекодирую

И этот файл.[/quote]
почту можете дать? инфа как бы служебная

Войдите или зарегистрируйтесь, чтобы ответить.