ロシアの短編小説から単語リストを抽出しようとしています。
#!/bin/sh
export LC_ALL=ru_RU.utf8
sed -re 's/\s+/\n/g' | \
sed 's/[\.!,—()«»;:?]//g' | \
tr '[:upper:]' '[:lower:]' | \
sort | uniq
ただし、tr
手順はキリル文字の大文字を小文字にすることではありません。移植可能な文字クラスを使って賢いと思った!
$ LC_ALL=ru_RU.utf8 echo "Г" | tr [:upper:] [:lower:]
Г
参考までに、Chrome ブラウザ ウィンドウから Vim にコピー アンド ペーストして、ロシア語のテキストを取得しました。画面に正しく表示されます(パテ端末)。これは Cygwin の bash シェルにあります。Linux の Bash と同じように動作するはずです (はずです!)。
パイプ内のユニコードテキストを小文字にする、移植可能で信頼できる方法は何ですか?