使用 Powershell 内置函数来模拟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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我相当确定有一个更简单/更短的版本,也许是单行的。那么,最好的方法是什么grep
?
小智 14
我通常做这样的事情:
dir *.txt | select-string "keyword|regex"
Run Code Online (Sandbox Code Playgroud)
对于匹配的文件,这会显示文件名、行号和行的内容。这也是管道友好的。我建议您使用以下方法查看 Select-string:
help Select-String -Detailed
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8206 次 |
最近记录: |