2010-09-24 8 views

Respuesta

11

Gnu sed debería ser capaz de manejar unicode. Trate

$ echo 'Some StrAngÉ LeTTeRs 123' | sed -e 's/./\L\0/g' 
some strangé letters 123 
+0

su solución no funciona para el personaje turco I. Se debe convertir a i en lugar de i https://en.wikipedia.org/wiki/Dotted_and_dotless_I – zwlayer

2

Si puede utilizar Python entonces dicho código puede ayudarle a:

import sys 
import codecs 

utf8input = codecs.getreader("utf-8")(sys.stdin) 
utf8output = codecs.getwriter("utf-8")(sys.stdout) 

utf8output.write(utf8input.read().lower()) 

En mi máquina de Windows (lo siento :) puedo usarlo como filtro:

cat big.txt | python tolowerutf8.py > lower.txt3 
+0

Gracias, también una buena solución. – lzap

+2

Eso es mucho código en comparación con 'perl -CSD -ne 'print lc''. – tchrist

Cuestiones relacionadas