格式表的标记字符串

时间:2013-03-15 04:41:08

标签: powershell string-parsing

我试图做一些在Powershell中应该很简单的事情,但我不能为我的生活弄清楚。我有一个如下所示的日志文件:

item1:some text 1:more junk I don't care about.
item2:some text 2:more junk I don't care about.
item3:some text 3:more junk I don't care about.
...

我想使用Powershell拆分“:”,抓住前两个项目,然后以某种方式将结果转换为我可以管道格式化表格的东西。最终结果将输出如下:

Column A           Column B
--------           --------
item1              some text 1
item2              some text 2
item3              some text 3
...

我绝不是Powershell专家,所以请随时清理我的代码。这就是我现在所拥有的(我尝试了几种变体):

Get-Content C:\Temp\test.log | %{
    $data = $_.split(":"); 
    $hashString = 'a = ' + $data[0] + " `n b = " + $data[1]; 
    ConvertFrom-StringData -StringData $hashString
} | ft @{Label="Column A"; Expression={$_.a}},  @{Label="Column B"; Expression={$_.b}} -auto

提前致谢。

1 个答案:

答案 0 :(得分:4)

我会使用Import-Csv ......:)

Import-Csv -Path your.log -Delimiter : -Header ColumnA, ColumnB

您可以使用任何字符作为分隔符,包括冒号。