Cómo buscar una cadena en múltiples archivos y devolver los nombres de los archivos en PowerShell

Cómo buscar una cadena en múltiples archivos y devolver los nombres de los archivos en PowerShell
PowerShell es una utilidad de Windows que le permite buscar las cadenas en varios archivos. Además, devuelve los nombres de archivo que contienen la cadena correspondiente. PowerShell usa "selección de cuerda" y "SLSS"Cmdlets a las cadenas de búsqueda en múltiples archivos. Más específicamente, "Select-String" es equivalente al "grep"Comando de Linux, que se utiliza para encontrar patrones de texto en los archivos.

Esta publicación demostrará varios métodos para buscar una cadena en varios archivos.

Cómo buscar una cadena en los archivos y recuperar los nombres de los archivos en PowerShell?

Estos métodos alistados se pueden usar para buscar una cadena en múltiples archivos:

  • Cmdlet de selección.
  • sls cmdlet.

Método 1: busque una cadena en múltiples archivos y devuelva los nombres de los archivos utilizando el cmdlet "Seleccionar cuerda"

La cadena se puede buscar en varios archivos utilizando el "selección de cuerda"Cmdlet. Este cmdlet selecciona las cadenas y busca patrones de texto en varios archivos de la siguiente manera:

> Get -ChildItem C: \ Doc -Recurse | Seleccionar la cadena -patrón "Linuxhint"

Aquí:

  • "Get-Childitem"Cmdlet se usa para obtener el archivo desde la ubicación especificada.
  • "-recurrirLa bandera obliga a la búsqueda a encontrar la cadena coincidente en los subcarpetas.
  • "|Se utiliza el operador de la tubería para enviar la salida del comando como la entrada del siguiente comando.
  • "-patrón"La bandera define la cadena específica a buscar.

Producción

La salida dada indica que de acuerdo con el patrón especificado, se ha devuelto la cadena coincidente con los nombres de archivo relevantes.

Método 2: busque una cadena en varios archivos y devuelva los nombres de los archivos usando el cmdlet "SLS"

"SLSS"Es un alias del"selección de cuerda"Cmdlet y también funciona igual. El "SLSS"El comando se usa con el"LS"Cmdlet.

Hemos proporcionado un ejemplo para demostrar el funcionamiento del "SLSS"Cmdlet para buscar una cadena en múltiples archivos:

> ls c: \ doc -r | SLS "Linuxhint"

Aquí:

  • "LS"Cmdlet se usa para enumerar los archivos y carpetas.
  • "-riñonal"Es el alias del"-recurrir"Cmdlet utilizado para forzar la búsqueda para encontrar la cadena en subcarpetas:

Se puede observar que los nombres de archivo con la cadena especificada se han obtenido correctamente.

Conclusión

Para buscar una cadena en múltiples archivos en PowerShell, use el "selección de cuerda" o el "SLSS"Cmdlets. En el primer método, use la "cadena de selección" con el cmdlet "get-childitem", los indicadores "-recurrse" y "-pattern", y la tubería (|) que une la salida de un comando a la entrada de la otra. En el comando "SLS", use todos los alias de los comandos utilizados en el primer enfoque. Porque "SLS" es el alias del cmdlet "Select-String". Esta publicación ha presentado varios métodos para buscar una cadena en varios archivos.