2016-07-29 7 views
-1

私は、データベースに表示され、レポートを生成するために書き出されるテキストファイルで作業しています。PowerShellを使用してtxtファイルにデータをエクスポート

このテキストファイルは、私が働く会社のセットトップボックスで顧客が調整したものを解析することによって作成されました。各ラインの構造は以下の通りである:

最終チャンネルチューン:

2016-05-10 22:30:19.282417 ; 10.193.115.63 ; 148.240.175.37 ;Data-- {"preferences":[{"key":"tv.mirada.iptv.navi.lastChannelTuned","value":"THC","basis":"DEVICE"}]} -- 

最後のチャンネルチューンと最後のボリューム:

2016-05-10 22:30:19.366016 ; 10.25.60.54 ; 148.240.175.37 ;Data-- {"preferences":[{"key":"tv.mirada.iptv.navi.lastVolume","value":12,"basis":"DEVICE"},{"key":"tv.mirada.iptv.navi.lastChannelTuned","value":"QROESTRELLA","basis":"DEVICE"}]} -- 

最後のチャンネルチューンとサーフモード:

2016-05-10 22:30:19.953626 ; 10.85.156.3 ; 148.240.175.37 ;Data-- {"preferences":[{"key":"tv.mirada.iptv.navi.lastChannelTuned","value":"TFLMZN","basis":"DEVICE"},{"key":"tv.mirada.iptv.navi.surfMode","value":"ALL","basis":"DEVICE"}]} -- 

最終チャンネル調整、最終音量、サーフモード:

2016-05-10 22:30:48.651843 ; 10.193.158.74 ; 148.240.175.37 ;Data-- {"preferences":[{"key":"tv.mirada.iptv.navi.lastVolume","value":16,"basis":"DEVICE"},{"key":"tv.mirada.iptv.navi.lastChannelTuned","value":"NICK","basis":"DEVICE"},{"key":"tv.mirada.iptv.navi.surfMode","value":"ALL","basis":"DEVICE"}]} –– 

私は次が含まれている「データベース」でこのデータを表示したいと思い、「属性」:

- 日付

-IPソース

-IP先

- チャンネル調整済み

Database Channel Tuned in CSV

私はこれを自動的に行うためにPowerShellを使用します。私はPowerShellの新機能です。次に、この情報をCSVファイルに変換します。

よろしくお願いいたします。

+0

テキストファイルをフィルタリングし、PowerShellでCSVに出力の多くの例があります。 PowerShellの初心者は、それらを検索してニーズに合わせることから始まります。 – wOxxOm

答えて

0

データはセミコロンで区切られた形式です。これは、PowerShellのコマンドレットを使用してデータを解析することができます。

私はあなたのレコードの1つを概念証明のために変数$eとして保存しました。

$e = '2016-05-10 22:30:19.282417 ; 10.193.115.63 ; 148.240.175.37 ;Data-- {"preferences":[{"key":"tv.mirada.iptv.navi.lastChannelTuned","value":"THC","basis":"DEVICE"}]} --' 
$e | ConvertFrom-Csv -Header 'Date','SourceIP','DestIP','Data' -Delimiter ';' 

と出力

Date      SourceIP  DestIP   Data                          
----      --------  ------   ----                          
2016-05-10 22:30:19.282417 10.193.115.63 148.240.175.37 Data-- {"preferences":[{"key":"tv.mirada.iptv.navi.lastChannelTuned","value":"THC","basis":"DEVICE"}]} -- 

今、あなたは簡単にあなたが好きなファイル形式の任意の並べ替えでこれをエクスポートすることができます!

+0

非常に良い。さて、私はデータ属性を持っているので、チャネル(例えばTHC、QROESTRELLA、TFLMZN、NICK)を抽出し、同じテーブルのData属性の代わりにChannel属性を表示したいと思います。私はそれが「データベース」であるところのイメージを共有しました。可能です? –

+0

dataプロパティはjson形式です。したがって、convertfrom-jsonコマンドレットを使用する場合は、チャネルを取得する必要があります。これが問題の解決に近づくのに役立ちましたら、票を出して答えとしてマークすることを忘れないでください。 – FoxDeploy

+0

ありがとうございます。私は部分的にそのプロパティを抽出する方法を見つけました。このコードでは、これを多くのイベントと「ミックス」する方法は?私は、コード、出力、画像で答えを出しました。 –

0

コード:

Clear-Host 
$Input = @" 

{ 
"preferences": [ 
{ "key":"tv.mirada.iptv.navi.lastChannelTuned" , "value":"THC" , "basis":"DEVICE" } 
    ] 
} 

"@ 

$Victim = $Input | ConvertFrom-JSON 
$Victim.preferences | Format-Table value -AutoSize 

出力:

value 
----- 
THC 

画像:Events

関連する問題