trs писал(а):Delles, как думаете, есть ли связь между задержкой ответа от разработчиков по существу найденного решения проблемы и произошедшей выше глубоконаучной попыткой классифицировать Сирьяз?
Ничего не могу сказать. Но воспользуюсь тем, что Вы подняли эту ветку, чтобы сказать, что вчера вычитал в книжке по grep следующее:
«One important note, however: if
pcre is compiled by hand, the
--enable-unicode-properties configuration option must be used to compile in support for these options. Some
libpcre packages (i.e., Fedora or Debian packages) have this built-in (especially internationally minded ones), but others do not. To check whether support is built-in to
pcre, run the following (or something like it):
Код: Выделить всё
$ grep -P '\p{Cc}' /bin/ls
grep: support for \P, \p, and \X has not been compiled
That error message about support being compiled in has to do with
pcre and not
grep, which is not exactly intuitive. The solution is to either find a better package or compile your own with the correct options». (
Источник)
Мне это интересно потому, что в режиме
grep -P не работает маркер границы слова
\b, что вообще-то весьма неудобно:
Видимо, это происходит потому, что сирийские буквы воспринимаются не вполне как буквы, подтверждением чему может служить вот такая глупость:
Код: Выделить всё
$ echo ܫܠܡܐ | grep '\w'
ܫܠܡܐ
$ echo ܫܠܡܐ | grep '[^\w]'
ܫܠܡܐ
$
Я не пробовал компилировать с упомянутыми опциями, т.к. можно обойтись маркированием начала слова так:
(^| ) и конца слова так:
($| |[[:punct:]]) Но хотелось бы, конечно, чтобы grep полноценно работала с любым материалом.