В Powershell, как мне перечислить все файлы в каталоге (рекурсивно), которые содержат текст, соответствующий заданному регулярному выражению? Эти файлы содержат действительно длинные строки непонятного текста, поэтому я не хочу видеть совпадающую строку - только имя файла.
источник
select -Unique
... круто, узнал что-то новое. Это работает отлично, спасибо!Обратите внимание, что в powershell v1.0 и v2.0 необходимо указать первый параметр позиции (путь) для работы с
-Recursion
техническая документация
источник
Используйте команду ниже в каталоге, который вы хотели бы выполнить "grep" и изменить,
[SEARCH_PATTERN]
чтобы соответствовать тому, что вы хотели бы соответствовать. Это рекурсивно, поиск по всем файлам в каталоге.http://www.jamescoyle.net/how-to/1205-how-to-use-powershell-to-recursively-search-for-text-within-files-on-windows
источник
У Select-String есть
-List
параметр для этой цели:- ss64.com
Вы можете использовать это так:
Вот как выглядят некоторые примеры результатов (для поиска в Windows SDK
ERROR_SUCCESS
):Если вы хотите получить обратно реальные
FileInfo
объекты (вместо относительного пути и результата одного совпадения), вы можете использовать его следующим образом:источник