Powershell从excel列删除数字,留下文本
我想从第1列和第2列中的csv文件中删除一些数字,但不是3。
基本上我需要删除六个数字和 – 即删除“000001 – ”,并离开“OfficeFramework”从第1和第2列,但离开所有其他文本。
我在excel csv文件中的数据是:
Column1 | Column2 | Column3 000001 - OfficeFramework | 002924 - Edition | Standard 000001 - OfficeFramework | 002925 - Install Type | Server 000001 - OfficeFramework | 002926 - Version | v4.3.00 000001 - OfficeFramework | 002927 - Audit Trail Enabled | FALSE
我需要它看起来像:
Column1 | Column2 | Column3 OfficeFramework | Edition | Standard OfficeFramework | Install Type | Server OfficeFramework | Version | v4.3.00 OfficeFramework | Audit Trail Enabled | FALSE
到目前为止,我有:
get-content "H:\Compare\Results\test\servername_SystemInfo.csv" | % { $_.split('*.-')[-1].trim()} | set-content "H:\Compare\Results\test\new.csv"
但我得到只有两列返回,因为它删除列1并返回:
newcolumn1 | newcolumn2 Edition | Standard Install Type | Server 0 | Audit Trail Enabled | FALSE
谢谢你的帮助,
如果你只是想删除号码,你可以使用 – replace为:
Get-Content yourFileName.csv | % { $_ -replace '\d*\s-\s', '' } | Set-Content yourFileName2.csv
或者,如果它始终是6位数,则可以用{6}
replace*