我試圖從俄羅斯短篇小說中提取單詞列表。tr [:upper:] [:lower:]與西里爾文本
#!/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中獲得俄文文本。它看起來正好在屏幕上(一個Putty終端)。這是在Cygwin的bash shell中 - 它應該與Linux上的Bash相同(應該!)。
什麼是便攜式,可靠的方式來管道中的小寫unicode文本?
轉換與'sed'工作對我來說:'回聲 'СТЭК' | sed's/[[:upper:]] */\ L&/'' –
'echo「Г」| tr [:upper:] [:lower:]'在Mac OS X 10.8系統上正確輸出「 - 」。 – ulidtko
謝謝@LevLevitsky。這對我來說是一個合適的解決方案(隨意將其推廣到答案中)。我想知道爲什麼tr不起作用。 – slim