Estou usando tre-agrep
(manpage) , uma implementação de agrep
(manpage) , para executar uma correspondência aproximada de padrões. Este utilitário procura correspondências com base na distância de Levenshtein e o usuário pode configurar a penalidade aplicada para edições de substituição, inserção ou exclusão.
Eu gostaria, no entanto, de aplicar pesagens diferentemente no comprimento da consulta, ou seja, com um peso menor para exclusões no início (extremidade esquerda) da consulta do que na direita. A man
página deste utilitário não indica que esse nível de controle é possível.
Existem outras ferramentas de linha de comando em que é possível uma correspondência aproximada com um controle mais preciso sobre as penalidades de incompatibilidade?
agrep
realmente precisam, eu provavelmente poderia criar algo. Calcular a distância de duas cordas de Levenshtein é realmente muito fácil. Eu sugeriria um script de shell envolvido na invocação do GNU awk.Respostas:
Não. Esse tipo de personalização está fora do escopo de uma ferramenta Linux e no escopo de escrever seu próprio código. O uso de uma linguagem popular de alto nível (Java, JavaScript, Python, Perl) usará um pouco mais de memória que C e será um pouco mais lento para linguagens de script, mas provavelmente isso será insignificante para o seu caso de uso. Portanto, pergunte novamente no stackoverflow com os detalhes exatos de que você precisa e alguém poderá lhe oferecer uma lista.
fonte