[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

В чем разница между файлами



Здравствуйте!

В процессе обработки большого текстового файла столкнулся с тем, что 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 @@
-ОДИН
+ОДИН
 =ДВА

Сами файлы прикладываю.

-- 
С уважением,
Алексей Мишустин
ОДИН
=ДВА
ОДИН
=ДВА

Reply to: