我需要一个简单的.bat文件来确定我的2个文本文件中是否有重复的行。我不需要删除或甚至显示欺骗,我只需知道它们是否存在。
文件看起来像这样:
name@gmail.com
blahblah@yahoo.com
iwjeuiwedjdjui@co.uk
john@aol.com
...
提前感谢您提供简单的帮助,而不是燃烧,并试图让我看起来很愚蠢。
答案 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 pipe
或lines
。请参阅我的开放项目https://github.com/qualiu/msr keys
目录中的nin.exe
或内置文档,例如:https://qualiu.github.io/msr/usage-by-running/nin-Windows.html