Chcę wyszukiwać w plikach, rekurencyjnie, ze wzorem dla nazwy pliku, dla danego ciągu, w wierszu polecenia systemu Windows 7. Jestem zaznajomiony z Uniksem. Jak dotąd,
findstr /spin /c:"main" *.py
jest dobrym zamiennikiem
find . -name "*.py" -exec grep -nH "main" {} \;
Jeśli chcę pokazać kontekst dla każdej dopasowanej linii (niektóre wiersze przed i po), jak mam to zrobić? Polecenie Unix to
find . -name "*.py" -exec grep -nH -B 2 -A 2 "main" {} \;
W tej chwili korzystałem z MinGW i myślę, że UnxUtils, GnuWin32 itp. Mogą działać, ale szukam natywnego polecenia Windows lub sekwencji / potoku poleceń.
EDYTOWAĆ : Wysłano już jedną dobrą odpowiedź, która daje ciągłe, jednokolorowe wyjście. Jako pytanie spontaniczne, czy jest jakiś sposób na kolorowanie pierwszej linii sekwencji opisanej dla każdego znaleziska, aby można było łatwo odróżnić każdą sekwencję? Czy informacje o pliku / linii nr. być także kolorowane? Dobrze byłoby mieć coś konfigurowalnego w profilu (np. Przez greping „& gt”), więc to samo polecenie podane w rozwiązaniu daje wyjście w kolorach. Powershell: Prawidłowe farbowanie Get-Childitem wyjście raz na zawsze prawdopodobnie ma znaczenie ...