2016-07-15 54 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

替换您foreachWhere-Object(或别名?),它会工作
的原因是,在你的foreach块返回布尔值,因为这是-match操作的输出类型。

... | ? { $_ -match "$date_pattern" } | ...