Ich versuche eine Wortliste aus einer russischen Kurzgeschichte zu extrahieren.tr [: upper:] [: lower:] mit kyrillischem Text
#!/bin/sh
export LC_ALL=ru_RU.utf8
sed -re 's/\s+/\n/g' | \
sed 's/[\.!,—()«»;:?]//g' | \
tr '[:upper:]' '[:lower:]' | \
sort | uniq
jedoch der tr
Schritt wird die kyrillischen Großbuchstaben nicht Kleinschreibung. Ich dachte, ich wäre clever mit den tragbaren Charakterklassen!
$ LC_ALL=ru_RU.utf8 echo "Г" | tr [:upper:] [:lower:]
Г
Falls es relevant ist, erhielt ich den russischen Text von copy-Einfügen aus einem Fenster Chrome-Browser in Vim. Es sieht direkt auf dem Bildschirm aus (ein Putty-Terminal). Dies ist in Cygwins bash-Shell - es sollte identisch zu Bash unter Linux funktionieren (sollte!).
Was ist eine tragbare, zuverlässige Möglichkeit, Unicode-Text in einer Pipe in Kleinbuchstaben zu schreiben?
Conversion mit 'sed' funktioniert für mich:' echo 'СТЭК' | sed 's/[[: upper:]] */\ L & /' ' –
' echo "Ã" | tr [: upper:] [: lower:] 'gibt" г "korrekt auf einem Mac OS X 10.8-System aus. – ulidtko
Danke @LevLevitsky. Das ist eine geeignete Lösung für mich (zögern Sie nicht, es in eine Antwort zu befördern). Ich frage mich, warum tr nicht funktioniert. – slim