部分合并文件

时间:2013-11-20 15:02:01

标签: powershell csv merge

我对Powershell很陌生,到目前为止已根据我在各种网站上发现的内容创建了几个脚本。 现在我想进一步扩展我的脚本并遇到问题。我想这并不是我想做的事情,但我似乎无法让它发挥作用。

方案: 我有一个名为from.csv的文件,它使用以下信息自动创建:

from.csv

Name,Mac
Server01,00:50:56:00:00:01
Server02,00:50:56:00:00:02
Server03,00:50:56:00:00:03

我还有一个名为to.csv的文件,其中包含以下信息:

to.csv

Name,Mac,IP
Server01,,192.168.0.1
Server02,,192.168.0.2
Server03,,192.168.0.3

我现在要做的是从“from.csv”文件中获取正确的(对应于正确的服务器)MAC地址到“to.csv”文件中的正确列。

由于

1 个答案:

答案 0 :(得分:4)

实际上,这很容易。

首先,您将加载from.csv

$from = Import-CSV from.csv

然后,如果您从该数据创建查找表,则最简单:

$servers = @{}
$from | foreach { $servers[$_.Name] = $_.Mac }

然后您可以加载to.csv

$to = Import-CSV to.csv

并添加缺少的数据:

$to | foreach { $_.Mac = $servers[$_.Name] }

并保存结果:

$to | Export-Csv to_result.csv