【发布时间】:2018-12-14 15:16:53
【问题描述】:
我目前有两个包含名称的数组。一个包含从 txt 文件中读取的数据,一个包含从 CSV 文件中读取的数据。 我正在尝试返回出现在两个列表中的名称列表,并且只出现在单个列表中。 对于 CSV 文件,PowerShell 最初希望将 "Name=" 放在每个项目的前面,但是我用$formattedName = $csvFile -replace "Name=","" 摆脱它。我还应该提到Name 是该列的标题。此时,如果我调用变量 $formattedName,它会返回前面没有 Name= 的名称列表(也就是 txt 的格式如何进行比较)。
现在在尝试使用 Compare-Object 时,我遇到了问题。我的代码如下:
Compare-Object -ReferenceObject $txtFile -DifferenceObject $formattedName -IncludeEqual
现在,在运行此命令时,PowerShell 仍将 Name= 放在 CSV 文件的每个项目的前面,而不管我只是将其格式化为不这样做。我的最终结果是两个列表,一个包含 txt 文件中的所有项目,另一个包含 CSV 文件中的所有项目。没有两个匹配值,因为Steven 与Name=Steven 不同。输出的一个例子是:
Steven =>
Name=Steven <=
我该如何解决这个问题?我使用得当吗?
【问题讨论】:
-
嗨,欢迎来到 StackOverflow!你能分享一些样本输入吗?您的帖子中没有足够的信息/代码/数据/细节来准确地重现您所描述的内容。请咨询MCVE help page 和update your question :)
-
请提供每个来源的样本 [两三行]。现在,没有办法确定实际发生了什么。 [咧嘴一笑]
-
你好,我会更新我原来的帖子,提供更多细节
标签: powershell csv powershell-ise compareobject