我有两个文件A和B. A包含17000条记录,B也有大约17000条记录。我想将B的每个记录与A进行比较,B中所有不匹配的记录应该发送到其他文件。我正在填充一个包含A内容的数组,然后从B中逐个提取记录并尝试使用二进制搜索在A中找到它。
我对搜索所花费的时间感到满意,但是使用记录填充数组的步骤大部分时间(大约80%)。我怎样才能减少这个时间?
我正在使用PowerShell。
答案 0 :(得分:2)
尝试Compare-Object
cmdlet:
$a = Get-Content a.txt
$b = Get-Content b.txt
Compare-Object -ReferenceObject $a -DifferenceObject $b
查看结果的SideIndicator属性。 '< ='表示该条目仅存在于$ a(ReferenceObject)中,'=>'表示条目存在于$ b(DifferenceObject)上。然后,您可以使用Where-Object过滤结果,并将InputObject写入另一个文件