С Perl ваше решение будет выглядеть как
perl -CSD -Mutf8 -pe 's/\p{Han}+/x$&/g' filename
Или, с более старыми версиями Perl до 5.20, используйте группу захвата:
perl -CSD -Mutf8 -pe 's/(\p{Han}+)/x$1/g' filename
Чтобы изменить содержимое файла, добавьте -i
параметр:
perl -i -CSD -Mutf8 -pe 's/(\p{Han}+)/x$1/g' filename
ПРИМЕЧАНИЯ
\p{Han}
соответствует одному китайскому символу, \{Han}+
соответствует фрагментам из 1 или более китайских символов
$1
- это обратная ссылка на значение, захваченное с помощью (\p{Han}+)
, $&
заменяется значением полного совпадения
-Mutf8
позволяет Perl распознавать символы в кодировке UTF8, используемые непосредственно в вашем коде Perl
-CSD
(эквивалентно -CIOED
) позволяет декодировать входные данные и перекодировать выходные данные (это будет работать для кодирования UTF8).