[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Exemplos de uso do wordtes



Algumas observacoes sobre o wordtest...

Nao há restricao no numero de argumentos.  Voce pode dar varias
opcoes e tambem pode dar varios dicionarios no argumento.  

======================================================================
<20>[random:/home/yoshi/cweb/examples/wordtest] > wordtest -h
Usage: wordtest {-{{a|b|n}string|{d|m}number}}* dictionaryname*
<21>[random:/home/yoshi/cweb/examples/wordtest] >
======================================================================

As opcoes (qualquer numero >= 0, em qualquer ordem) devem ser seguidas
dos dicionarios (qualquer numero >= 0).

Abaixo seguem alguns exemplos...  Divirtam-se!  Yoshi

Exemplos:

Para criar um dicionario cujas palavras aparecem na "ordem alfabetica"
do wordtest:

======================================================================
<23>[random:/home/yoshi/cweb/examples/wordtest] > date; wordtest < dicts/br > dicts/br_wt; date
Fri Apr 16 10:13:46 EST 1999
Fri Apr 16 10:13:53 EST 1999
<24>[random:/home/yoshi/cweb/examples/wordtest] > 
======================================================================

Isto funciona assim: ele recebe o arquivo dicts/br como entrada, sem
nenhum dicionario.  Assim, toda palavra do dicts/br é considerada
"fora do dicionario" e portanto é mandada para a saida (stdout).  A
saída das palavras ocorre em ordem alfabetica (segundo os criterios do
wordtest).

É interessante ver que perdemos algumas palavras:

======================================================================
<12>[random:/home/yoshi/cweb_orig/examples/wordtest/dicts] > wc -l br
  225502 br
<13>[random:/home/yoshi/cweb_orig/examples/wordtest/dicts] > wc -l br_wt 
  225344 br_wt
<14>[random:/home/yoshi/cweb_orig/examples/wordtest/dicts] >
======================================================================

(wc -l conta o numero de linhas no arquivo.)  

Voce consegue explicar a razao...?  Nao é um bug...!  (Sugetao: tem a
ver com maiusculas e minusculas.  Resposta no fim da mensagem.......)

Note tambem que o wordtest ordenou um arquivo de 225k palavras em
poucos segundos.

Mais um exemplo:

======================================================================
<25>[random:/home/yoshi/cweb_orig/examples/wordtest] > cat dicts/texto.txt
Este é um texto de teste.  Espero que o nosso dicionário contenha a
maioria destas palavras.

Eis uma palavra errrada.
<26>[random:/home/yoshi/cweb_orig/examples/wordtest] > tr " ." "\n" < dicts/texto.txt
Este
é
um
texto
de
teste


Espero
que
o
nosso
dicionário
contenha
a
maioria
destas
palavras


Eis
uma
palavra
errrada

<27>[random:/home/yoshi/cweb_orig/examples/wordtest] > tr " ." "\n" < dicts/texto.txt | wordtest dicts/br_wt 
errrada
<28>[random:/home/yoshi/cweb_orig/examples/wordtest] > 
======================================================================

Note que no exemplo acima usamos o utilitario tr para traduzir ' ' e
'.' em quebra de linha ('\n').  O wordtest assume (em seu estado
default) que quebra de linha definem uma palavra.

**********************************************************************
Resposta: como aparece na seção 1 do codigo fonte do wordtest:

  Notice that if no dictionaries are given, wordtest will act as a
  sorting routine that simply discards nulls and duplicate lines.