批量确定两个文本文件中是否有重复的行

时间:2017-10-10 14:50:31

标签: batch-file

我需要一个简单的.bat文件来确定我的2个文本文件中是否有重复的行。我不需要删除或甚至显示欺骗,我只需知道它们是否存在。

文件看起来像这样:

name@gmail.com

blahblah@yahoo.com

iwjeuiwedjdjui@co.uk

john@aol.com

...

提前感谢您提供简单的帮助,而不是燃烧,并试图让我看起来很愚蠢。

3 个答案:

答案 0 :(得分:1)

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

将找到两个文件中存在的行如果它们完全匹配并显示它们。

findstr /x /g:"filename1" "filename2">nul
if not errorlevel 1 echo found some
如果至少有一行匹配,

将显示found some>nul会抑制findstr

的输出

答案 1 :(得分:0)

在Linux上,执行此命令

cat file1.txt file2.txt | sort | uniq -c | sort -nr

在Windows上,实际上不确定,因为我没有Windows机器,但请尝试以下方法之一:

Windows PowerShell to find duplicate lines in a file

Remove Duplicate Lines from Text File using Windows batching

答案 2 :(得分:0)

您还可以使用:nin f1.txt f2.txt -m来获取文件/管道交叉点。见下面的截图。使用-A隐藏nin.exe的摘要信息。

nin.exe是一个便携式exe(大约1.3MB),可以在2 files或{{1}之间获得交集差异集 a file and a pipelines。请参阅我的开放项目https://github.com/qualiu/msr keys目录中的nin.exe或内置文档,例如:https://qualiu.github.io/msr/usage-by-running/nin-Windows.html

Get files intersection set