Localizador de Duplicatas

Outras línguas: English Español 한국어 Русский 中文

O localizador de duplicatas é uma aplicação de código aberto para detectar texto similar em um ou mais arquivos. Pode ser usado para encontrar duplicatas 100% assim como conteúdo que é semelhante, mas não idêntico. A ferramenta é compatível com vários formatos, incluindo texto simples, Markdown e XML.

A ferramenta de localização de duplicatas pode ajudar você com:

Exemplo de conteúdo duplicado

Aqui está um exemplo rápido para te dar uma ideia do que a ferramenta detecta:

Chunk 1:
Open the Google Play Store on your Android device, search for "AwesomeApp", then tap "Install" to download and install the app.
Chunk 2:
Open the App Store on your iOS device, search for "AwesomeApp", then tap "Get" to download and install the app.

Como usar

  1. Baixe o aplicativo. Alternativamente, você pode construir você mesmo a partir de as fontes.
  2. Certifique-se de que o Java 16 ou uma versão posterior esteja instalado no seu computador
  3. No terminal, abra a pasta com o arquivo .jar que você baixou
  4. Execute java -jar duplicate-finder.jar com os seguintes parâmetros:

    Parâmetro Significado Exemplo
    -r / --root
    obrigatório
    Caminho relativo ou absoluto para a pasta onde você deseja procurar conteúdo duplicado -r=./my-project/
    -o / --output Caminho relativo ou absoluto para a pasta onde você deseja salvar os resultados da análise. Se nenhum diretório for especificado, o localizador de duplicados usará o diretório de trabalho atual. -r=./my-project/duplicates/
    -f / --fileMask Lista separada por vírgula de extensões de arquivo para analisar. Por padrão, todos os arquivos são analisados. -f=md,mdx
    -i / --indexer

    O que considerar como um pedaço de texto. As seguintes opções estão disponíveis:

    • md – um elemento markdown
    • line – uma única linha de texto
    • xml – um elemento XML
    • file – o conteúdo do arquivo inteiro
    • auto – tentativa de inferir da máscara de arquivo
    -i=md
    -l / --minLength O comprimento mínimo (em caracteres) para um fragmento de texto a ser analisado. Padrão: 100 (fragmentos de texto com menos de 100 caracteres são ignorados) -l=150
    -s / --minSimilarity O grau mínimo de semelhança entre dois fragmentos de texto para serem considerados duplicados. Padrão: 0.9 (90%) -s=0.85
    -d / --minDuplicates O número mínimo de duplicados para que um grupo de duplicados seja relatado. Padrão: 1 (um duplicado é suficiente) -d=5
    -h / --headless Não abrir o visualizador de duplicatas e apenas escrever os resultados nos arquivos -h
    -v / --verbose Se deve registrar o progresso e os erros no console. Use esta opção se a análise estiver demorando muito e suspeitar de um problema. Padrão: sem registro -v
    -m / --memory Modo de baixa memória - minimiza o uso de memória do localizador de duplicatas ao custo da velocidade de análise. -m
    -g / --gram comprimento do ngrama (avançado) – afeta a velocidade, o uso de memória, e a precisão da análise. A diferença depende das especificidades do conteúdo. -g=10

Exemplo de comando

Aqui está um exemplo de como seu comando pode parecer:

java -jar duplicate-finder.jar -r=/Users/me.user/my-site -i=md -f=md,mdx -s=0.85 -d=5 -l=200

O comando acima fará o seguinte:

Resultados

Dependendo das configurações e do tamanho do projeto, pode ser necessário esperar um pouco para que a análise seja concluída. Depois disso, os resultados serão abertos no visualizador de duplicatas e salvos na pasta definida com a opção de linha de comando '-o'. Se nenhuma opção for especificada, a saída será gravada no diretório de trabalho.

Aqui está o que você vê no visualizador de duplicatas:

Duplicate finder UI Duplicate finder UI
  1. Barra de ferramentas: configure o tamanho da fonte, a ordem de classificação e se deseja ver apenas um único fragmento de referência (2) para cada um dos grupos de duplicatas.
  2. Lista de fragmentos de referência: selecione o fragmento que servirá como referência para comparação.
  3. Lista de fragmentos duplicados: depois de selecionar o fragmento de referência (2), esta lista mostrará os fragmentos que são semelhantes a ele. Para visualizar um duplicado, selecione-o na lista.
  4. Pré-visualização do fragmento de referência: depois de selecionar o fragmento de referência (2), você pode visualizar seu conteúdo aqui. As partes comuns são mostradas em verde, enquanto as diferentes são mostradas em vermelho. Quanto mais fragmentos duplicados (3) tiverem essa parte em comum, mais verde aparecerá.
  5. Pré-visualização do fragmento duplicado: depois de selecionar o fragmento duplicado, sua pré-visualização aparecerá aqui. Você pode usá-la para uma comparação rápida com o fragmento de referência selecionado (4).

Saiba mais e entre em contato

Se você está interessado no desenvolvimento desta ferramenta, confira a série de postagens no blog relacionada:

Para feedback, você pode entrar em contato usando os contatos no rodapé desta página. Ficarei feliz em ouvir seus pensamentos e pedidos de recursos.

Licença

O código está licenciado sob a licença MIT, o que significa que você é livre para usá-lo para qualquer propósito, assim como bifurcá-lo e modificá-lo.

all posts ->