Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Pomoc s Ispellem  (Přečteno 6677 krát)

damegu

  • Návštěvník
  • Příspěvků: 13
Pomoc s Ispellem
« kdy: 09 Dubna 2011, 11:17:15 »
Ahoj,
potřeboval bych prosím poradit. Zajímám se o ispell a v návodu je, abych použil tyto příkazy:
 perl -pe 'print "echo "' *.cat | sh - | \
      perl -pe 's/ +/\n/g; s/[{}\.]//g; s/-/\n/g' > czech.a-z

Tuším, že se mají vyhledat všechny soubory s příponou .cat, vytvoří se soubor czech.a-z, ale ten zbytek moc nechápu. Když ten příkaz zkusím, tak se pouze vytvoří prázdný soubor czech.a-z.

Další příkaz:
    buildhash czech.a-z czech.aff czech.hash

Ten nechápu vůbec.
Díky moc za vysvětlení.

MacHala

  • Stálý člen
  • **
  • Příspěvků: 1104
  • Big Bro iz watching joo!
    • ZlejT
Re: Pomoc s Ispellem
« Odpověď #1 kdy: 09 Dubna 2011, 13:43:02 »
cele to znamena, ze se cte obsah tech .cat souboru, mezery a pomlcky se nahradi za konce radku a maze to nektere znaky a ten vysledek se zapisuje do toho couboru czech.a-z ... v pripade, ze ti to vytvori prazdny soubor, tak ocividne v adresari, kde to spoustis, nemas zadne soubory s koncovkou .cat ..

mozna bys mohl zminit, co za navod to je, protoze autor byl pravdepodobne uplne zhulenej kdyz napsal
Kód: [Vybrat]
perl -pe 'print "echo "' *.cat | sh - | \
      perl -pe 's/ +/\n/g; s/[{}\.]//g; s/-/\n/g' > czech.a-z
misto
Kód: [Vybrat]
cat *.cat | perl -pe 's/ +/\n/g; s/[{}\.]//g; s/-/\n/g' > czech.a-z (jedine co me napada, je moznost, ze by uvnitr tech souboru byly nazvy shellovych promenych, ktere, by se timhle zpusobem expandovaly, ale o tom silne pochybuju (nemluve o tom, ze by to byla desna prasarna)
Prislusnik ligy, za kreativni pouzivani interpunkcnich znamenek, carek, predevsim.
=======================================
Tweetuju jako http://twitter.com/zl8

damegu

  • Návštěvník
  • Příspěvků: 13
Re: Pomoc s Ispellem
« Odpověď #2 kdy: 09 Dubna 2011, 14:37:34 »
Díky.. Ispell je program, který slouží jako slovník. Je zde několik souborů s příponou cat, které obsahují slova podle rozdělení (podst. jm, příd. jm atd.) + občas nějaký popisek, jako je ve slovníku spis. češtiny (jestli je to ženský rod atd..). Např v jednom souboru je:
agave
alibi
{,dvou,dvoj}apartmá
aranžmá
aroma
atd.

Takže by to mělo tedy nejspíše vybrat slova, dát je na nový řádek a odstranit ty popisky. (tento soubor se poté použije, abych mohl přidávat nová slova a kontrolovat, jestli tam už takové slovo není).

Tady je ta část z README:
Zdrojový soubor czech.a-z pro vytvoření slovníku pro ispell se získá takto:

    perl -pe 'print "echo "' *.cat | sh - | \
      perl -pe 's/ +/\n/g; s/[{}\.]//g; s/-/\n/g' > czech.a-z

Sloučený soubor se zpracuje příkazem buildhash:

    buildhash czech.a-z czech.aff czech.hash

který vytvoří slovník pro ispell. Po zkopírování souboru czech.aff a
czech.hash do adresáře, ve kterém ispell očekává slovníky, lze ispell
pouľívat příkazem

    ispell -d czech kontrolovaný_soubor

MacHala

  • Stálý člen
  • **
  • Příspěvků: 1104
  • Big Bro iz watching joo!
    • ZlejT
Re: Pomoc s Ispellem
« Odpověď #3 kdy: 09 Dubna 2011, 15:17:11 »
aha, takze se to provadi tak krkolomne opravdu kvuli shellove expanzi... nicmene opravdu nevidim zadny duvod (pokud ten prikaz zadavas v adresari, kde jsou ty .cat soubory), proc zustane, ten soubor czech.a-z prazdny...
Prislusnik ligy, za kreativni pouzivani interpunkcnich znamenek, carek, predevsim.
=======================================
Tweetuju jako http://twitter.com/zl8

damegu

  • Návštěvník
  • Příspěvků: 13
Re: Pomoc s Ispellem
« Odpověď #4 kdy: 09 Dubna 2011, 19:03:57 »
když ten příkaz pustim, tak mi to hodí:
david@ubuntu:~/ispell-czech$ perl -pe 'print "echo "' *.cat | sh - |       perl -pe 's/ +/\n/g; s/[{}\.]//g; s/-/\n/g' > czech.a-z
sh: ,do,p�e}transformovat/ATN: not found
sh: ,na,o,pro,p�e,p�i,roz,v,vy,z}kop�rovat/ATN: not found
sh: Syntax error: EOF in backquote substitution


Není možný, že je to tim, že mám v těch souborech .cat nějaký špatný kódování? Věta v těch souborech vypadá třeba takhle: "Pokud při nalezení neznámého slova při kontrole textu zvolíte moľnost"
Místo ž je nějakej divnej znak atd.. A to sem to podle návodu zkoušel změnit z windows 1250 na utf8 :(

MacHala

  • Stálý člen
  • **
  • Příspěvků: 1104
  • Big Bro iz watching joo!
    • ZlejT
Re: Pomoc s Ispellem
« Odpověď #5 kdy: 09 Dubna 2011, 20:17:45 »
jo, to je zarucene spatnym kodovanim... co vypise
Kód: [Vybrat]
enca *.cat?
v pripade, ze to nebude UTF-8, tak nejdriv spust prikaz
Kód: [Vybrat]
enconv *.cat
(jinak jsem pochopil, co jsi mel predtim za problem, ale to zu asi vis - znak \ na konci radku znamena, ze prikaz pokracuje na dalsim radku; nejak jsem zapomnel ze pro nekoho to uplne jasne byt nemusi... )
Prislusnik ligy, za kreativni pouzivani interpunkcnich znamenek, carek, predevsim.
=======================================
Tweetuju jako http://twitter.com/zl8

damegu

  • Návštěvník
  • Příspěvků: 13
Re: Pomoc s Ispellem
« Odpověď #6 kdy: 09 Dubna 2011, 22:58:33 »
Kód: [Vybrat]
david@ubuntu:~/ispell-czech$ enca *.cat
castice.cat: ISO 8859-2 standard; ISO Latin 2
cislovk.cat: ISO 8859-2 standard; ISO Latin 2
citoslov.cat: ISO 8859-2 standard; ISO Latin 2
geogr.cat: ISO 8859-2 standard; ISO Latin 2
hlavni.cat: ISO 8859-2 standard; ISO Latin 2
hovor.cat: ISO 8859-2 standard; ISO Latin 2
chybej.cat: ISO 8859-2 standard; ISO Latin 2
jmena.cat: ISO 8859-2 standard; ISO Latin 2
krestni.cat: ISO 8859-2 standard; ISO Latin 2
narstjaz.cat: ISO 8859-2 standard; ISO Latin 2
nepravid.cat: ISO 8859-2 standard; ISO Latin 2
nesklon.cat: ISO 8859-2 standard; ISO Latin 2
nezaraz.cat: ISO 8859-2 standard; ISO Latin 2
obce.cat: ISO 8859-2 standard; ISO Latin 2
predlozk.cat: ISO 8859-2 standard; ISO Latin 2
prijmeni.cat: ISO 8859-2 standard; ISO Latin 2
prislovc.cat: ISO 8859-2 standard; ISO Latin 2
spojky.cat: ISO 8859-2 standard; ISO Latin 2
zajmena.cat: ISO 8859-2 standard; ISO Latin 2
zkratky.cat: ISO 8859-2 standard; ISO Latin 2

damegu

  • Návštěvník
  • Příspěvků: 13
Re: Pomoc s Ispellem
« Odpověď #7 kdy: 10 Dubna 2011, 14:16:33 »
použil jsem i ten druhý příkaz jak si poradil, je to už česky, žádne paznaky. Poté jsem pustil ten příkaz na vytvoření tho souboru se slovy, nenapsalo to už žádnou chybu, ale soubor je pořád prázdný :(

MacHala

  • Stálý člen
  • **
  • Příspěvků: 1104
  • Big Bro iz watching joo!
    • ZlejT
Re: Pomoc s Ispellem
« Odpověď #8 kdy: 10 Dubna 2011, 15:13:47 »
no sice nechapu, co na
Kód: [Vybrat]
perl -pe 'print "echo "' *.cat | sh - | perl -pe 's/ +/\n/g; s/[{}\.]//g; s/-/\n/g' > czech.a-zmuze nefungovat, ale muzeme to zkusit postupne...
v kazdem kroku se vytvori jeden soubor, napis, ve kterem bude prazdny
1:
Kód: [Vybrat]
perl -pe 'print "echo "' *.cat > krok1.txt2:
Kód: [Vybrat]
sh < krok1.txt > krok2.txt3:
Kód: [Vybrat]
perl -pe 's/ +/\n/g; s/[{}\.]//g; s/-/\n/g' < krok2.txt > czech.a-z
Prislusnik ligy, za kreativni pouzivani interpunkcnich znamenek, carek, predevsim.
=======================================
Tweetuju jako http://twitter.com/zl8

damegu

  • Návštěvník
  • Příspěvků: 13
Re: Pomoc s Ispellem
« Odpověď #9 kdy: 10 Dubna 2011, 17:10:35 »
Ty jo, když dám ten první příkaz ve složce, kde mám ty soubory s cat, tak to nehodí žádnou chybu, ale soubor text1 se nevytvoří. Když to použiju o úroveň výše (kde žádné .cat nejsou), tak to hodí hlášku
Kód: [Vybrat]
david@ubuntu:~$ perl -pe 'print "echo "' *.cat > krok1.txt
Can't open *.cat: Adresář nebo soubor neexistuje.
, ale soubor se vytvoří :(
Ubuntu mám asi 5 dní, tak snad nedělám nějakou základní chybu, ale fakt netušim, čim by to mohlo být...

MacHala

  • Stálý člen
  • **
  • Příspěvků: 1104
  • Big Bro iz watching joo!
    • ZlejT
Re: Pomoc s Ispellem
« Odpověď #10 kdy: 11 Dubna 2011, 22:33:53 »
ma se to zadavat v adresari s temi .cat soubory...
jestli to nevytvori soubor krok1.txt, tak zkus prikaz:
Kód: [Vybrat]
perl -pe 'print "echo "' *.cat
vystup by mel vypadat podobne jako
Kód: [Vybrat]
echo agave
echo alibi
echo {,dvou,dvoj}apartmá
echo aranžmá
echo aroma
atd... (proste hromada radku s "echo" na zacatku kazdeho)

pravdepodobne to cele bude v nejake hloupe drobne chybe...
Prislusnik ligy, za kreativni pouzivani interpunkcnich znamenek, carek, predevsim.
=======================================
Tweetuju jako http://twitter.com/zl8

damegu

  • Návštěvník
  • Příspěvků: 13
Re: Pomoc s Ispellem
« Odpověď #11 kdy: 15 Dubna 2011, 10:42:08 »
Nevim, jak je to možný, ale
Kód: [Vybrat]
perl -pe 'print "echo "' *.cat | sh - | \
      perl -pe 's/ +/\n/g; s/[{}\.]//g; s/-/\n/g' > czech.a-z
najednou funguje :)) Hodí to sice tuhle hlášku
Kód: [Vybrat]
david@ubuntu:~/ispell-czech$ perl -pe 'print "echo "' *.cat | sh - | perl -pe 's/ +/\n/g; s/[{}\.]//g; s/-/\n/g' > czech.a-z
sh: ,do,p�e}transformovat/ATN: not found
sh: ,na,o,pro,p�e,p�i,roz,v,vy,z}kop�rovat/ATN: not found
sh: Syntax error: EOF in backquote substitution
david@ubuntu:~/ispell-czech$ ^C
david@ubuntu:~/ispell-czech$
Ale soubor se vytvoří a sou v něm ty slova, akorát teda soubor vypadá nějak takto:
doupě/K
doušek/Q
doutník/H
doutníkový/YRN
dovednější/YRE
dovětek/Q
dovolující/YN
dovozce/U
dovozcův/Y
dovozkyně/ZQ
A to za tim lomítkem by asi být nemělo

MacHala

  • Stálý člen
  • **
  • Příspěvků: 1104
  • Big Bro iz watching joo!
    • ZlejT
Re: Pomoc s Ispellem
« Odpověď #12 kdy: 15 Dubna 2011, 18:06:52 »
ty veci za lomitky tam jsou imho spravne (afaik se podle toho urcuje, jak se ta slova sklonuji apod.)

ty chyby budou pravdepodobne asi porad neco s kodovanim...

P.S.: kdyz jsi tady ten problem zacal resit, tak jsem to taky chtel vyzkouset, ale na cesky slovnik k ispellu jsem nasel jenom nefunkcni linky, kde jsi to nsael ty?
Prislusnik ligy, za kreativni pouzivani interpunkcnich znamenek, carek, predevsim.
=======================================
Tweetuju jako http://twitter.com/zl8

damegu

  • Návštěvník
  • Příspěvků: 13
Re: Pomoc s Ispellem
« Odpověď #13 kdy: 15 Dubna 2011, 22:16:22 »

MacHala

  • Stálý člen
  • **
  • Příspěvků: 1104
  • Big Bro iz watching joo!
    • ZlejT
Re: Pomoc s Ispellem
« Odpověď #14 kdy: 15 Dubna 2011, 22:59:21 »
na domovskou stranku toho Kolare jsem se dostal i predtim, ale to me zastavily nefunkcni linky...

kazdopadne, aby to probehlo bez problemu (ony byly ty problemy i tak zanedbatelne, vynechalo to jen par slov), tak staci modfikovat ten prikaz na
Kód: [Vybrat]
perl -pe 'print "echo "' *.cat | sed 's#[|`]##' | sh - | perl -pe 's/ +/\n/g; s/[{}\.]//g; s/-/\n/g' > czech.a-z
nicmene, i potom mi pripada, ze to neni uplne idealni - nektera slova jsou tam duplicitni (napr. "své/N" je tam 9x, celkove je tam asi 7000 duplicit)
Prislusnik ligy, za kreativni pouzivani interpunkcnich znamenek, carek, predevsim.
=======================================
Tweetuju jako http://twitter.com/zl8

damegu

  • Návštěvník
  • Příspěvků: 13
Re: Pomoc s Ispellem
« Odpověď #15 kdy: 08 Května 2011, 09:53:05 »
Díky.. teď mám další problém :(
Když chci zkontrolovat nějaký soubor, zadám cestu, ale vyskočí mi hláška: Can't open /usr/lib/ispell/czech.hash
Googlil jsem, co je to zač, ale moc z toho moudrý nejsem.

damegu

  • Návštěvník
  • Příspěvků: 13
Re: Pomoc s Ispellem
« Odpověď #16 kdy: 08 Května 2011, 10:25:25 »
Už jsem to vyřešil :)

damegu

  • Návštěvník
  • Příspěvků: 13
Re: Pomoc s Ispellem
« Odpověď #17 kdy: 09 Května 2011, 06:51:56 »
Tak snad poslední problém, kterej mám, jinak už všechno šlape :D :)
Použiju příkaz
Kód: [Vybrat]
david@ubuntu:~/ispell-czech$ ispell -d czech -l < kont.cat > nova.cat

aby se ze souboru kont.cat vybraly slova, která ispell nezná a vypsali se do souboru nova.cat.
Problém je ale v kódování. Když otevřu soubor nova.cat, tak jsou tam paznaky. Použil jsem
Kód: [Vybrat]
david@ubuntu:~/ispell-czech$ enca *.cat

a vypsalo mi to
Kód: [Vybrat]
nepravid.cat: Universal transformation format 8 bits; UTF-8

nesklon.cat: Universal transformation format 8 bits; UTF-8

nezaraz.cat: Universal transformation format 8 bits; UTF-8

nova.cat: KOI8-CS2 code (`T602')
  LF line terminators

obce.cat: Universal transformation format 8 bits; UTF-8

predlozk.cat: Universal transformation format 8 bits; UTF-8


a pak jsem použil, jak si mi radil
Kód: [Vybrat]
david@ubuntu:~/ispell-czech$ enconv nova.cat

ale nepomohlo, soubor vypadá jinak, ale jsou tam stále paznaky (ale jiné, než předtím).
Po opětovném
Kód: [Vybrat]
david@ubuntu:~/ispell-czech$ enca *.cat vyleze toto
Kód: [Vybrat]

nepravid.cat: Universal transformation format 8 bits; UTF-8

nesklon.cat: Universal transformation format 8 bits; UTF-8

nezaraz.cat: Universal transformation format 8 bits; UTF-8

nova.cat: Universal transformation format 8 bits; UTF-8
  Doubly-encoded to UTF-8 from KOI-8_CS_2

obce.cat: Universal transformation format 8 bits; UTF-8

predlozk.cat: Universal transformation format 8 bits; UTF-8

Neví někdo, jak změnit kódování, aby to bylo k přečtení?:) Díkes

 

Provoz zaštiťuje spolek OpenAlt.