0

我有两个文件 A 和 B。A 包含 17000 条记录,B 也将有大约 17000 条记录。我想将 B 的每条记录与 A 进行比较,并且 B 中与 A 中不匹配的所有记录都应该发送到其他文件。我正在用 A 的内容填充一个数组,然后从 B 中一个一个地提取记录,并尝试使用 Binary Search 在 A 中找到它。

我对搜索所花费的时间感到满意,但是用记录填充数组的步骤需要大部分时间(大约 80%)。我怎样才能减少这个时间?

我正在为此使用powershell。

4

1 回答 1

2

Try the Compare-Object cmdlet:

$a = Get-Content a.txt
$b = Get-Content b.txt

Compare-Object -ReferenceObject $a -DifferenceObject $b

Take a look at the SideIndicator property of the result. '<=' means the entry only exists in $a (ReferenceObject ), and '=>' means the entry exists on $b (DifferenceObject). You can then filter the result using Where-Object and write the InputObject to another file

于 2013-08-21T10:17:13.777 回答