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