The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Запятая в текстовом файле"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Запятая в текстовом файле"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 15-Мрт-04, 16:42  (MSK)
В текстовом файле на FreeBSD заменил точку на запятую программой sed, просмотраиваю результать все отлично, везде запятые, сливаю файл на Windows в файле точки7!!!
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Запятая в текстовом файле"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 15-Мрт-04, 16:44  (MSK)
Вот черт, а если просматриваю vi то одни точки и стоит знат ^M блин чего делать ?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Запятая в текстовом файле"
Сообщение от denn emailИскать по авторуВ закладки on 15-Мрт-04, 16:55  (MSK)
>Вот черт, а если просматриваю vi то одни точки и стоит знат
>^M блин чего делать ?
cat file0|col -p >file1 - удалит виндовые ^M

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Запятая в текстовом файле"
Сообщение от lavr emailИскать по авторуВ закладки on 15-Мрт-04, 17:12  (MSK)
>Вот черт, а если просматриваю vi то одни точки и стоит знат
>^M блин чего делать ?

мб не тот символ и не на то заменял или код символа был неверно набран?

Потому как имеем точку и запятую в первой половине ASCII:

[unix1]~ > uname -r
4.8-RELEASE
[unix1]~ > echo $TERM
xterm
[unix1]~ > echo $LANG
ru_RU.KOI8-R
[unix1]~ > echo ",,," | recode -kw - -
,,,
[unix1]~ >

Что у тебя могло произойти: например ты зашел на freebsd-server из под
неверно настроенной в Windows терминалки.

В таких случаях лучше в VI сделать скрипт замены и затем его запустить.

Пример:

[unix1]~ > cat prob
........................................
........................................
[unix1]~ > sed -e "s/./,/g" prob
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
[unix1]~ >

допустим нам нужно было сделать правки в файле который был создан
в MSDOS/Windows и в нем конец строки интерпретируется как два символа:
0xd 0xa (\r\n)

[unix1]~ > cat prob
........................................
<skipped>
........................................
[unix1]~ >

проще всего увидеть используя hd (man hd):

[unix1]~ > hd -c prob
...
<skip>
000001f0  2e 2e 2e 2e 2e 2e 0d 0a  2e 2e 2e 2e 2e 2e 2e 2e  |................|
00001f0   .   .   .   .   .   .  \r  \n   .   .   .   .   .   .   .   .
00000200  2e 2e 2e 2e 2e 2e 2e 2e  2e 2e 2e 2e 2e 2e 2e 2e  |................|
0000200   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .
*
00000220  0d 0a                                             |..|
0000220  \r  \n                                                        
0000222
[unix1]~ >

хорошо видно что вместо одного символа linefeed(\n) у нас еще и масадовский \r имеется, избавляемся:

[unix1]~ > sed -e "s/^M//g" prob

как нам набрать в командной строке или в VI символ \r, для bash и vi -
очень просто: ctrl-v ctrl-m (ctrl-v - войти в режим ввода спец.символов,
ctrl-m - ввести символ \r(enter))

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру