【发布时间】:2019-11-14 05:46:36
【问题描述】:
我正在寻找一种解决方案来比较 2 个 .csv 文件并比较结果。
第一个 .csv 文件是基于客户端名称的每月备份大小(以 KB 为单位)。第二个 .csv 文件是基于客户端名称的下个月备份大小(以 KB 为单位)。
它在 A 列中列出了所有客户端名称。B 列具有客户端的相应策略名称和最后一列备份大小(以 KB 为单位)(即 - 487402463)。
如果客户端大小(1638838488 - 1238838488 = 0.37 in TB)之间的差异大于 0.10 TB,则结果将以 TB 大小输出到如下所示的 csv 文件中。
另外,一个客户端可能关联多个策略名称。
我的问题是:我也想添加一些东西。有时它可能是重复的客户端和策略名称,例如 hostnameXX,Company_Policy_XXX 或区分大小写的 HOSTNAMEXX,Company_Policy_XXX。 另外,假设 CSV2 中不存在 hostnameYY,Company_Policy_XXX,41806794,那么我想显示为负数,如下所示。
我使用了 Join-Object 模块。
CSVFile1.csv 示例
Client Name,Policy Name,KB Size
hostname1,Company_Policy,487402463
hostname2,Company_Policy,227850336
hostname3,Company_Policy_11,8360960
hostname4,Company_Policy_11,1238838488
hostname1,Company_Policy_55,521423110
hostname10,Company_Policy,28508975
hostname3,Company_Policy_66,295925
hostname5,Company_Policy_22,82001824
hostname2,Company_Policy_33,26176885
hostnameXX,Company_Policy_XXX,0
hostnameXX,Company_Policy_XXX,41806794
hostnameYY,Company_Policy_XXX,41806794
CSVFile2.csv 示例
Client Name,Policy Name,KB Size
hostname1,Company_Policy,487402555
hostname2,Company_Policy,227850666
hostname3,Company_Policy_11,8361200
hostname4,Company_Policy_11,1638838488
hostname1,Company_Policy_55,621423110
hostname10,Company_Policy,28908975
hostname3,Company_Policy_66,295928
hostname5,Company_Policy_22,92001824
hostname2,Company_Policy_33,36176885
hostname22,Company_Policy,291768854
hostname23,Company_Policy,291768854
期望的输出:
Client Name,Policy Name,TB Size
hostname4,Company_Policy_11,0.37
hostname22,Company_Policy,0.27
hostname23,Company_Policy,0.27
hostnameYY,Company_Policy_XXX,-0.03
hostnameXX,Company_Policy_XXX,-0.04
【问题讨论】:
标签: powershell compare export-to-csv