En Powershell, ¿cómo enumero todos los archivos en un directorio (recursivamente) que contienen texto que coincide con una expresión regular dada? Los archivos en cuestión contienen líneas realmente largas de texto incomprensible, por lo que no quiero ver la línea correspondiente, solo el nombre del archivo.
fuente
select -Unique
... genial, aprendí algo nuevo. Eso funciona perfectamente, gracias!Tenga en cuenta que en powershell v1.0 y v2.0 necesita especificar el primer parámetro de posición (ruta) para trabajar con
-Recursion
documentación de technet
fuente
Utilice el siguiente comando dentro del directorio en el que desea realizar el "grep" y cámbielo
[SEARCH_PATTERN]
para que coincida con lo que le gustaría hacer coincidir. Es recursivo, busca en todos los archivos del directorio.http://www.jamescoyle.net/how-to/1205-how-to-use-powershell-to-recursively-search-for-text-within-files-on-windows
fuente
Select-String tiene un
-List
parámetro para este propósito:- ss64.com
Puedes usarlo así:
Así es como se ven algunos resultados de muestra (buscando el SDK de Windows
ERROR_SUCCESS
):Si desea recuperar los
FileInfo
objetos reales (en lugar de la ruta relativa y el resultado de una sola coincidencia), puede usarlo así:fuente