Я хочу искать в файлах, рекурсивно, с шаблоном имени файла, для данной строки, в командной строке Windows 7. Я знаком с Unix. До сих пор,
findstr /spin /c:"main" *.py
хорошая замена для
find . -name "*.py" -exec grep -nH "main" {} \;
Теперь, если я хочу показать некоторый контекст для каждой совпавшей строки (несколько строк до и после), как бы я это сделал? Команда Unix
find . -name "*.py" -exec grep -nH -B 2 -A 2 "main" {} \;
На данный момент я использовал MinGW, и я думаю, что UnxUtils, GnuWin32 и т.д. Могут работать, но я ищу собственную команду Windows или последовательность / последовательность команд.
РЕДАКТИРОВАТЬ: уже есть один хороший ответ, который дает непрерывный, цветной вывод. В качестве побочного вопроса, есть ли способ раскрасить первую строку последовательности, сообщенной для каждой находки, чтобы можно было легко различить каждую последовательность? Может информация о файле / строке нет. быть также раскрашенным? Было бы хорошо иметь что-то настраиваемое в профиле (например, с помощью greping ">"), поэтому та же самая команда, приведенная в решении, дает вывод с цветами. Powershell: правильная раскраска выходных данных Get-Childitem раз и навсегда актуальна ...