O Windows 7 já tem o Powershell instalado.
para a linha de comando do Powershell
PowerShell WIN + R
depois, no prompt de comando do powershell, você pode tentar algo como
gci -r -fi '*.py' | Select-String -patt "main" -context 2,3
em que gci é Get-ChildItem -r ou -recursar para recursivo -fi ou -filter para os arquivos correspondentes * .py -patt ou padrão para correspondência de string "main" -co ou -context 2,3 para 2 linhas antes de 3 depois de
linhas de saída com o maior que o símbolo no início indicam as linhas correspondentes
---------------- EDIT ABAIXO --------------------
Preparado para tornar a saída mais legível & com cor para arquivo e linha de contexto.
gci -r -fi '*.py'| Select-String -pattern "main" -context 2,3 | foreach { "";
$padlength = (”{0} ” -f $_.LineNumber).Length
$pad = ” “*$padlength
$drawlength = (”{0}{1}: ” -f $_.Path, $_.LineNumber).Length
$draw = "-"*$drawlength
$(""| foreach {$_.Trim().Insert(0,$draw)});"";""
Write-Host -Fore Blue $_.Path; "";""
$($_.Context.PreContext | foreach {$_.Trim().Insert(0,$pad)})
Write-Host -Fore Magenta $(”LINE {0}: {1}” -f $_.LineNumber, ($_.Line).Trim())
$($_.Context.PostContext | foreach {$_.Trim().Insert(0,$pad)})
"";""}
referenciado de: link