使用Powershell修改CSV内容 [英] Modifying CSV content with Powershell

查看:313
本文介绍了使用Powershell修改CSV内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个CSV文件 Devices.csv ,其中包含 IP地址,设备名称,序列号,MAC地址,用户名



Devices.csv 所有行中的用户列已预先填充了值[未知] p>

代码...

  {Import-CSV Devices.csv | Where-Object {$ _。IPAddress -eq'192.168.2.124'} | Select-Object -last 1 | FT IPAddress,devicveName,SerialNumber,MACAddress,User -AutoSize} 

.... outputs

  IP地址deviceName SNumber MACAddress用户
--------- ----- ------ - ---------- ----
192.168.2.124 ComputerA 1ABCDEFG 00xxYYbbCCdd [未知]

我想用我从其他来源检索的用户名替换[未知]文本。我可以使用powershell仅更新Devices.csv中此行上的User列,并保持CSV文件的其余部分不受影响?



感谢,Brian

解决方案

  $ csv = Import-CSV Devices.csv 
$ csv | Where-Object {$ _。IPAddress -eq'192.168.2.124'} |选择对象 - 最后1 | ForEach-Object {$ _。User = $ user}
$ csv | Export-Csv Devices.csv -NoTypeInformation


I have a CSV file, Devices.csv, containing IP Address, DeviceName, SerialNumber, MAC Address, UserName.

The Users column in all the rows of Devices.csv is prepopulated with a value [Unknown]

The code...

{Import-CSV Devices.csv | Where-Object {$_.IPAddress -eq '192.168.2.124'} | Select-Object -last 1 | FT  IPAddress, devicveName, SerialNumber,  MACAddress, User -AutoSize }

....outputs

IPAddress     deviceName     SNumber     MACAddress   User
---------     -----          -------     ----------   ----
192.168.2.124 ComputerA      1ABCDEFG    00xxYYbbCCdd [Unknown]   

I want to be able to replace the [Unknown] text with a Username I have retrieved from a different source. Can I update just the User column on this line in Devices.csv using powershell and keep the rest of the CSV file intact ?

Thanks, Brian

解决方案

$csv = Import-CSV Devices.csv
$csv | Where-Object {$_.IPAddress -eq '192.168.2.124'} | Select-Object -Last 1 | ForEach-Object {$_.User = $user}
$csv | Export-Csv Devices.csv -NoTypeInformation

这篇关于使用Powershell修改CSV内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆