Что mos легкий/удобный путь состоит в том, чтобы использовать встроенные функции Powershells для эмуляции grep
как поведение?
В сценариях я использую что-то вроде этого
dir "*.filter" | foreach-object{
$actfile = $_
$readerrorfile = [System.IO.Path]::GetTempFileName()
$found = $false
$content = Get-Content $actfile 2> $readerrorfile
$readerror = Get-Content $readerrorfile
if($readerror -match "Error"){
echo "Error while reading from file $actfile"
echo $readerror
del $readerrorfile
Write-Host "stopping execution"
exit
}else{
del $readerrorfile
if($content -match "keyword|regex"){
echo "found in $actfile"
$found = true;
}
}
}
Я абсолютно уверенный существую более легкая/короче версия для этого, возможно, острота. Так, что лучший способ к нему grep
путь?
Я обычно делаю что-то как:
dir *.txt | select-string "keyword|regex"
Для файла соответствия это показывает мне название файла, номера строки и содержания строки. Это также благоприятно для конвейера. Я предлагаю, чтобы Вы взглянули на Избранную строку при помощи:
help Select-String -Detailed