Como sugerido pela steeldriver, você pode forçar o STDIN / STDOUT a ser UTF-8:
-C por conta própria (não seguido por qualquer número ou lista de opções), ou a cadeia vazia "" para a variável de ambiente PERL_UNICODE, tem o mesmo efeito que -CSDL. Em outras palavras, as alças padrão de E / S e as camada padrão open () é UTF-8-fied mas somente se o ambiente local variáveis indicam uma localidade UTF-8.
find . -name 'test.*' 2>/dev/null | xargs perl -w -C -i -p -e 's/(\p{Devanagari})/D/g'
Transformará seu arquivo de amostra assim:
ಕದಂಬ
DDDDD
Fonte: link