我需要將所有文本轉換爲小寫,但不使用傳統的「tr」命令,因爲它不能正確處理UTF-8語言。如何在UNIX(但UTF-8)中將文本文件轉換爲小寫
有沒有一個很好的方法來做到這一點?我需要一些UNIX過濾器,所以我可以在一個管道中處理它。
我需要將所有文本轉換爲小寫,但不使用傳統的「tr」命令,因爲它不能正確處理UTF-8語言。如何在UNIX(但UTF-8)中將文本文件轉換爲小寫
有沒有一個很好的方法來做到這一點?我需要一些UNIX過濾器,所以我可以在一個管道中處理它。
Gnu sed應該能夠處理unicode。嘗試
$ echo 'Some StrAngÉ LeTTeRs 123' | sed -e 's/./\L\0/g'
some strangé letters 123
如果你可以使用Python那麼這樣的代碼,可以幫助你:
import sys
import codecs
utf8input = codecs.getreader("utf-8")(sys.stdin)
utf8output = codecs.getwriter("utf-8")(sys.stdout)
utf8output.write(utf8input.read().lower())
在我的Windows機器(對不起:)我可以用它作爲過濾器:
cat big.txt | python tolowerutf8.py > lower.txt3
您的解決方案不適用於土耳其人。它應該轉換爲ı而不是我https://en.wikipedia.org/wiki/Dotted_and_dotless_I – zwlayer 2017-10-19 05:27:55