2016-07-15 8 views
0

ソースファイルの行を、今日のエントリの日付パターン(DD Monthname YYYY)を満たす新しいファイルにコピーしています。行は、実際の行の値ではなくTrue/Falseで新しいファイルにコピーされます。パイプラインは一致する行の代わりにTrue/Falseを返します

$date_pattern = Get-Date -UFormat "%d %b %Y" 
echo $date_pattern 

(Get-Content $path\import.log) | foreach { $_ -match "$date_pattern" } | 
    Set-Content $path\provider_import_report_$Today.log 

ソースファイル(に、import.log)は次のようになります。

ERROR 08 Apr 2016 20:36:28,904 [org.mule.api.processor.LoggerMessageProcessor] ([CMCHub].connector.file.mule.default.receiver.82:) ERROR in providers feed, UNSUCESSFUL upload response for id 'BARNS' 
ERROR 08 Apr 2016 20:36:36,464 [org.mule.api.processor.LoggerMessageProcessor] ([CMCHub].connector.file.mule.default.receiver.79:) ERROR in providers feed, validation failed on file 'CF_output_edited.xml_000448.xml'ERROR 08 Apr 2016 20:36:44,120 [org.mule.api.processor.LoggerMessageProcessor] ([CMCHub].connector.file.mule.default.receiver.82:) ERROR in providers feed, UNSUCESSFUL upload response for id 'RYLAVIEW' 
ERROR 08 Apr 2016 20:36:48,198 [org.mule.api.processor.LoggerMessageProcessor] ([CMCHub].connector.file.mule.default.receiver.82:) ERROR in providers feed, UNSUCESSFUL upload response for id 'A&ACARES' 
ERROR 08 Apr 2016 20:36:55,432 [org.mule.api.processor.LoggerMessageProcessor] ([CMCHub].connector.file.mule.default.receiver.79:) ERROR in providers feed, provider record for Id 'ATHOMECA' 
ERROR 08 Apr 2016 20:37:12,277 [org.mule.api.processor.LoggerMessageProcessor] ([CMCHub].connector.file.mule.default.receiver.82:) ERROR in providers feed, UNSUCESSFUL upload response for id 'ST.PETER'

新しい出力ファイルがちょうど真/偽の行が含まれています。

True 
True 
True 
False 
False 
False

答えて

2

Where-Object(またはエイリアス?)を使用してforeachを交換し、それが
理由は、これが-matchオペレータの出力タイプであるとして、あなたのforeachブロックにあなたはブール値を返すことで動作します。

... | ? { $_ -match "$date_pattern" } | ... 
関連する問題