Замена регулярных выражений в командной строке: строка замены содержит utf8

Предположим, что у вас есть файл с именем test.txt со следующими строками:

ಕದಂ.ಬ
कदम्ब.

Затем предположим, что вы хотите заменить каждую точку после символа unicode Unicode (т.е. в कदम्ब) с помощью. Тогда вы можете подумать, что следующее будет работать:

find . -name 'test.*' | xargs perl -w -i -C -p -e 's/(\p{Devanagari})\./$1।/g'

Но это не так (я вижу, что точка в конце заменена на à ¥ ¤).

Как исправить выше?

Изменить: ниже работает, но я хотел что-то более читаемое:

find . -name 'test*'|xargs perl -C -w -i -p -e 's/(\p{Devanagari})\./$1\x{0964}/g'

(Это продолжение этот вопрос.)

1
задан 13 April 2017 в 15:25

0 ответов

Другие вопросы по тегам:

Похожие вопросы: