【发布时间】:2015-01-22 21:27:27
【问题描述】:
我有一个格式如下的测试文件:
<IPADDRESS1> # <STRINGA>
<IPADDRESS2> # <STRINGB>
<IPADDRESS3> # <STRINGA;STRINGB>
有时会有多个字符串用“;”隔开
我想在 PowerShell 中将其解析为每个 IP / String 组合的数组并输出到 CSV
期望的输出:
IPAddress1,STRINGA
IPAddress2,STRINGB
IPAddress3,STRINGA
IPAddress3,STRINGB
我目前在使用 PowerShell 时遇到的这个问题是,当我通过管道将其拆分时,我无法让 ForEach 将 IP 地址部分传递到带有辅助字符串的新行中:
get-content C:\file.txt | %{$_ -replace " # ",""} | %{$_ -split ";"}
本例中的输出:
IPAddress1,STRINGA
IPAddress2,STRINGB
IPAddress3,STRINGA
STRINGB
注意,这缺少最后一行的 IP 地址。
我的想法是,我需要将每一行文本读入某种解析函数来处理地址和字符串并构建一个数组,以便将此数组输出到 csv。
任何帮助都会很棒,如果有更简单的方法可以做到这一点,请告诉我。我仅限于powershell。
【问题讨论】:
-
看看这个答案。非常相似stackoverflow.com/questions/28057283/…
-
我认为这会有所帮助,我只需要找到一种方法将其转换为我的用例。谢谢
标签: arrays parsing powershell csv ip-address