Linux fgrep como extrair “only_words_in_my_language” de um grande arquivo “MIXED_WORDS”?

1

Eu quero algo para extrair "only_words_in_my_language (900kb)" de um grande arquivo "MIXED_WORDS (160mb)" e para isso eu usei a sintaxe abaixo, mas com resultados ruins:

fgrep -w -f "only_words_in_my_language.txt" "MIXED_WORDS_from_all_over_the_world" > extracted_word_of_my_country_only.txt

É por isso que eu estou pensando mmmm ... para 'MATCH' 'a PALAVRA inteira, para melhores resultados Por exemplo, esta é uma palavra na minha língua:

Maimuta - 7 letras de comprimento, se eu combinar a palavra inteira, os resultados poderiam ser:

maimuta@123
maimuta2016!
Maimuta01!
maimuta@123456

se eu combinar 6 letras a res. poderia ser:

maimut
maimutoi1
Maimutareala01!

Então, minha pergunta é como fazer isso? como combinar com a palavra inteira Um regex ou algo para linux por favor obrigado Godluck a todos !!

Eu tentei isso, mas não trabalho:

fgrep -iowf "my_lang_dict.txt" "mixed_words" > my_lang_unique-words.txt

Meu lang.dict.txt (900kb) e mixed_file (64 mb), grep diz: Memória esgotada

Imagine o seu búlgaro, russo e você quer extrair '' apenas '' as palavras que estão na língua do seu país a partir de uma grande mistura de palavras em todo o arquivo de texto. Como você faria isso? 'ur country' 'dictionary right? e, em seguida, compare todas as palavras do dicionário do país ur com o misto e eu acho que os melhores resultados são .... quando u combinar a palavra inteira!

    
por Muntean Cosmin Manim 27.11.2016 / 15:08

1 resposta

1

Como a mensagem de erro informa, você não tem memória suficiente. O sistema está construindo uma expressão regular para combinar com todas as palavras do seu arquivo de 900 KB. O tamanho do arquivo mixed_word não importa. A mensagem de erro pode ser enganosa porque pode significar regular expression too complicated .

Você deve conseguir quebrar seu lang.dict.txt em partes menores. Você pode usar o comando unix split para fazer isso.

    
por 28.11.2016 / 07:22

Tags