2017-10-10 2 views
1

J'ai besoin d'un simple fichier .bat pour déterminer s'il y a des doublons dans mes deux fichiers texte. Je n'ai pas besoin que les dupes soient supprimés ou même affichés, je n'ai besoin que de savoir s'ils existent ou non.Pour déterminer s'il existe des lignes dupliquées dans deux fichiers texte

Fichiers ressemblent à ceci:

[email protected]

[email protected]

[email protected]

[email protected]

. ..

Merci d'avance pour une aide simple au lieu de flamber et essayant de me faire paraître stupide.

Répondre

1
findstr /x /g:"filename1" "filename2" 

Vous trouverez Les lignes qui existent dans les deux fichiers correspondent exactement à et les affichent.

findstr /x /g:"filename1" "filename2">nul 
if not errorlevel 1 echo found some 

affiche found some si au moins une ligne correspond. Le >nul supprime la sortie du findstr

+0

Vous devez ajouter le'/L'option pour forcer une recherche littérale, sinon le point déclenchera probablement une recherche regex. Vous devriez également ajouter le drapeau '/ I', car la plupart des systèmes de messagerie ignorent les cas. '/ I' empêche également [ce bug FINDSTR] (https://stackoverflow.com/q/8844868/1012053) d'être un problème. – dbenham

0

Vous pouvez également utiliser: nin f1.txt f2.txt -m pour obtenir l'intersection de fichiers/tuyaux. voir la capture d'écran suivante. Utilisez -A pour masquer les informations récapitulatives de nin.exe.

nin.exe est un exe portable unique (environ 1,3 Mo) pour obtenir intersection définie ou différence entre définie 2 files ou a file and a pipe par lines ou keys. Voir nin.exe dans mon projet open https://github.com/qualiu/msrtools annuaire ou intégré dans le document comme: https://qualiu.github.io/msr/usage-by-running/nin-Windows.html

Get files intersection set