On Fri, 13.03.2009 23:27:28 , Mishustin Alexey wrote: > Здравствуйте! > > В процессе обработки большого текстового файла столкнулся с тем, что sed > работает с ним не так, как предполагается. Начал копать и в итоге сузил > круг проблемы всего до двух строк. Файл, состоящий из двух этих строк, > обрабатывается sed'ом не так, как предполагается. Я даже содержимое этих > строк изменил, написал в одной просто "ОДИН", в другой - "=ДВА". И все > равно sed работает не так! А другой файл с таким_же_текстом "ОДИН" и > "=ДВА" обрабатывается sed'ом нормально. Может, я туплю, но, пожалуйста, > объясните мне, в чем разница между этими файлами? Команда diff говорит, > что разница есть. Но я ее не понимаю )) Возможно, дело в хитростях > юникода? > > $ cat test3 > ОДИН > =ДВА > > $cat test4 > ОДИН > =ДВА > > $ sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D' test3 > ОДИН ДВА > > $ sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D' test4 > ДВА > > $ diff --unified test3 test4 > --- test3 2009-03-13 23:15:52.000000000 +0300 > +++ test4 2009-03-13 23:15:49.000000000 +0300 > @@ -1,2 +1,2 @@ > -ОДИН > +ОДИН > =ДВА > > Сами файлы прикладываю. >
> ОДИН > =ДВА > ОДИН > =ДВА Проще всего их посмотреть, например, hexdump-ом (из bsdmainutils). -- С уважением, Тихон Тарнавский. http://linuxforum.ru http://posix.ru -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

