-2

我希望使用 PowerShell 快速协调大量交易估值。

例子:

File_1 - Trade_id = 123456, 789101      Valuation = 10, 20
File_2 - Trade_id = 123456, 789101      Valuation = 10, 30

我的问题是如何Trade_id在文本文件中显示估值的差异?

我在想这样的事情-

Compare-Object $(Get-Content H:\File_1.txt) $(Get-Content H:\File_2.txt) | Out-File H:\datarecon.txt

但是,结果的格式并不是我想要的。我希望命令通过Trade_id不管Trade_ids 在每个文件中的位置来评估差异并提供差异。

4

1 回答 1

1

这不是 Compare-Object 的用途。它将整个文件与另一个文件进行比较,寻找其中一个而不是另一个的东西。

至于这个……

无论 Trade_ids 在每个文件中的哪个位置

在我看来,这是因为您拥有的文件是非结构化数据。只是一个包含一堆交易信息的文本文件,分散在整个文件中。

没有办法让 Compare-Object 做你所要求的。您将不得不自己为此编写代码。

如果您的文件没有很好地组织,也就是非结构化数据,您将不得不解析每个文件以组织数据,然后再编写额外的代码来执行分析工作。

PowerShell 处理对象,您需要以这样的方式转换您的文件结构,以便制作您所追求的对象和您/PowerShell 可以使用的对象。

想想您将如何将您的交易文件写入 Excel 电子表格,然后这些可以通过 PowerShell 使用 Import-Csv 读取,然后您可以从那里解析和分析您的 Excel 数据。意思是,像您首先展示的东西都需要在每个文件的每一行中排成一行。数据必须以trade_id 作为关键值转入表格,以进行透视/连接。

您的示例仅显示了您的数据文件的一部分,而不是文件的相当大的块,因此我们知道您正在使用的是真实的,而不是推测的。

于 2018-01-20T06:28:36.350 回答