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 を使用して ":" で分割し、最初の 2 つの項目を取得してから、何らかの方法で結果を Format-Table にパイプできるものに変換したいと考えています。最終結果は次のように出力されます。

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

前もって感謝します。

4

1 に答える 1

4

そのために Import-Csv を使用します... :)

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

コロンを含む任意の文字を区切り文字として使用できます。

于 2013-03-15T07:57:15.077 に答える