Eu faço muito a manipulação de texto, e uma das operações que eu uso freqüentemente é a classificação - muitas vezes removendo qualquer duplicata também.
Então eu normalmente uso os comandos sort
ou sort -u
da linha de comando ou em scripts, macros, etc - se eu não estiver trabalhando no LibreOffice Writer ou Calc , é claro (que infelizmente não tem a opção de remover duplicatas durante a classificação, ou eu não sei; -)
Agora eu tenho um arquivo de texto simples que contém uma grande coleção de símbolos, emoticons, formas, linhas, letras e números ASCII não-padrão, etc. com muitas duplicatas.
Foi fácil convertê-los em um caractere por texto de linha.
No entanto, classificar e remover duplicatas aparentemente não é tão simples quanto se poderia imaginar:
Usar o comando sort -u file.txt > file-sorted.txt
infelizmente reduz as linhas de 2078 para apenas 359, removendo cerca de mil caracteres únicos, eu acho - posso ver que há muitos que são filtrados com erro.
Portanto, a minha conclusão é que sort -u command
é apenas bom para caracteres alfanuméricos padrão .
Alguma idéia e sugestão?
PS: Aqui está um texto de exemplo com 40 caracteres do arquivo que estou tentando processar:
ღ ❂ ◕ ⊕ Θ o O ♋ ☯ ⊙ ◎ ๑ ☜ ☞ ♨ ☎ ☏ ۩ ۞ ♬ ✖ ɔ ½ ' ‿ ' * ᴗ * ◕ ‿ ◕ ❊ ᴗ ❊ . ᴗ . ᵒ ᴗ
Existem apenas algumas duplicatas aqui, mas embora o comando sort
processe o texto com alguns problemas, mas sem nenhuma perda, ambos sort -u
e uniq
têm exatamente a mesma saída, reduzindo para 11 com muitos personagens eliminados.