我已将日志文件转换为数组,数组中的某些元素包含关键字Messages
。我想要一个仅包含带有该关键字的元素的新数组。
我尝试了以下操作:
$Logfile_array = Get-Content "C:\temp\logfiles\complete_log.txt"
foreach ($array_element in $Logfile_array)
{
if ($array_element -match 'Messages')
{
foreach ($array_element in $Logfile_array)
{
$i++
echo $i
$array_message[$i] = $array_element
}
}
}
答案 0 :(得分:1)
您可以使用Where-Object为您完成此操作,而不是使用foreach
遍历数组然后检查每个项目:
$Logfile_array = Get-Content "C:\temp\logfiles\complete_log.txt"
$array_message = $Logfile_array | Where-Object { $_ -match 'Messages' }
或一个班轮:
$array_message = Get-Content "C:\temp\logfiles\complete_log.txt" | Where-Object { $_ -match 'Messages' }