Portál AbcLinuxu, 25. dubna 2024 02:19


Dotaz: Jak náhodně naplnit soubor UTF-8 znaky o různém předem daném počtu zn?

19.12.2009 21:34 FrantaS | skóre: 12 | Hlučín
Jak náhodně naplnit soubor UTF-8 znaky o různém předem daném počtu zn?
Přečteno: 346×
Odpovědět | Admin
Chci naučit Tesseract, co nejlépe češtinu.

Vytvořil jsem soubor s třemi řadami znaků na klávesnici, použil databázi cca 800 tis. slov a rozpoznávání je velmi dobré. Určitě lze ještě vylepšit. Připravím si databázi běžných slov, ale hlavně to chce cvičné stránky plné náhodných znaků s předem daným počtem každého znaku.

Udělal jsem tedy soubor v UTF-8 kde je na řádku číslo udávající počet opakování následujících znaků, oddělující mezera a znaky. Mezera se mezi potřebnými znaky nevyskytuje. Těchto řádků je dle potřeby. Protože mi zpětné lomítko činí velké problémy, mám zatím v úmyslu řešit až při zápisu do souboru skriptem nebo ručně. Protože lze v dokumentech očekávat znaky jiných jazyků apod., je nutno pracovat s UTF-8. Můj skript načte počet opakování následujících znaků, znaky a spočítá počet znaků k tomuto opakování. Zde jsem narazil na to, že některé znaky byly počítány jakoby dva. To jsem vyřešil pomocí LANG=cs_CZ.UTF-8 ve scriptu.

Nyní mám v jedné proměnné všechny potřebné znaky v potřebném opakování. Chci je náhodně zpřeházet a uložit do souboru. Když však chci zpracovat proměnnou znak po znaku pomocí cut nebo substr, použité nástroje zase počítají některé znaky jako dva (A možná ještě nevím všechny problémy.)

Systém mám nastaven na LANG=cs_CZ, unicode nastaveno nemám.

Chtěl jsem řešit pomocí předem známého počtu opakování (celkový počet znaků) a každý znak naplnit do pole. To pak náhodně procházet, použitý znak uložit do souboru a zrušit prvek pole.

Poraďte, prosím, jak vyřešit práci s jednotlivými znaky nebo i zcela jiný přístup k celému řešení.
Ať se nám daří.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.12.2009 19:25 FrantaS | skóre: 12 | Hlučín
Rozbalit Rozbalit vše Re: Jak náhodně naplnit soubor UTF-8 znaky o různém předem daném počtu zn?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Čtení řetězce znak po znaku jsem již vyřešil pomocí:

Pocet=0
while read -n 1 Znak; do
array[$Pocet]=$Znak
Pocet=$(($Pocet+1))
done <<<"$Vsechny_nactene_znaky"
unset array[$Pocet-1]
Ať se nám daří.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.