【问题标题】:Partially merging files部分合并文件
【发布时间】:2013-12-04 15:35:02
【问题描述】:

我对 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”文件的正确列中。

谢谢

【问题讨论】:

    标签: powershell csv merge


    【解决方案1】:

    其实这很容易。

    首先你将加载你的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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-16
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多