1
我正在嘗試做一些在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
在此先感謝。
您的答案適用於這種情況,所以我將其標記爲已接受,但我仍然希望對我的問題採用更一般的答案。如何使文本變爲可以使用format-table命令顯示/處理的格式? – shellster
那麼,在這種情況下,正則表達式通常是答案。您只需從字符串創建自定義對象,然後可以執行任何您想要的操作:篩選,排序和格式化爲表格。我已經以使用$匹配的方式發佈了博文,使得它很容易實現:http://becomelotr.wordpress.com/2013/01/07/quick-tip-matches-is-enough/但是有很多方法去皮這隻貓。 – BartekB
正是我在找的東西!謝謝! – shellster