Select-String
Busca texto en cadenas y archivos.
Sintaxis
File (valor predeterminado)
Select-String
[-Pattern] <string[]>
[-Path] <string[]>
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-Include <string[]>]
[-Exclude <string[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <string>]
[-Context <Int32[]>]
[<CommonParameters>]
Object
Select-String
[-Pattern] <string[]>
-InputObject <psobject>
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-Include <string[]>]
[-Exclude <string[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <string>]
[-Context <Int32[]>]
[<CommonParameters>]
LiteralFile
Select-String
[-Pattern] <string[]>
-LiteralPath <string[]>
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-Include <string[]>]
[-Exclude <string[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <string>]
[-Context <Int32[]>]
[<CommonParameters>]
Description
El Select-String cmdlet busca texto y patrones de texto en cadenas y archivos de entrada. Puede usar Select-Stringsimilar a grep en UNIX o findstr.exe en Windows.
Select-String se basa en líneas de texto. De forma predeterminada, Select-String busca la primera coincidencia en cada línea y, para cada coincidencia, muestra el nombre del archivo, el número de línea y todo el texto de la línea que contiene la coincidencia. Puede dirigir Select-String para buscar varias coincidencias por línea, mostrar texto antes y después de la coincidencia o mostrar un valor booleano (Verdadero o Falso) que indique si se encuentra una coincidencia.
Select-String Utiliza la coincidencia de expresiones regulares, pero también puede realizar una coincidencia que busque en la entrada el texto que especifique.
Select-String Puede mostrar todas las coincidencias de texto o detenerse después de la primera coincidencia en cada archivo de entrada.
Select-String Se puede utilizar para mostrar todo el texto que no coincida con el patrón especificado.
También puede especificar que Select-String debe esperar una codificación de caracteres determinada, como cuando se buscan archivos de texto Unicode.
Select-String usa la marca de orden de bytes (BOM) para detectar el formato de codificación del archivo. Si el archivo no tiene boM, supone que la codificación es UTF8.
Ejemplos
Ejemplo 1: Buscar una coincidencia que distinga entre mayúsculas y minúsculas
En este ejemplo se realiza una coincidencia entre mayúsculas y minúsculas del texto que se envió por la canalización al Select-String cmdlet.
'Hello', 'HELLO' | Select-String -Pattern 'HELLO' -CaseSensitive -SimpleMatch
Las cadenas de texto Hello y HELLO se envían por la Select-String canalización al cmdlet.
Select-String utiliza el parámetro Pattern para especificar HELLO. El parámetro CaseSensitive especifica que las mayúsculas y minúsculas solo deben coincidir con el patrón de mayúsculas y minúsculas.
SimpleMatch es un parámetro opcional y especifica que la cadena del patrón no se interpreta como una expresión regular.
Select-String muestra HOLA en la consola de PowerShell.
Ejemplo 2: Buscar coincidencias en archivos de texto
Este comando busca todos los archivos con la extensión de nombre de .txt archivo en el directorio actual. La salida muestra las líneas de los archivos que incluyen la cadena especificada.
Get-Alias | Out-File -FilePath .\Alias.txt
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\*.txt -Pattern 'Get'
Alias.txt:8:Alias cat -> Get-Content
Alias.txt:28:Alias dir -> Get-ChildItem
Alias.txt:43:Alias gal -> Get-Alias
Command.txt:966:Cmdlet Get-Acl
Command.txt:967:Cmdlet Get-Alias
En este ejemplo, Get-Alias y Get-Command se usan con el Out-File cmdlet para crear dos archivos de texto en el directorio actual, Alias.txt y Command.txt.
Select-String utiliza el parámetro Path con el comodín asterisco (*) para buscar todos los archivos del directorio actual con la extensión .txtde nombre de archivo . El parámetro Pattern especifica el texto que debe coincidir con Get-.
Select-String muestra la salida en la consola de PowerShell. El nombre de archivo y el número de línea preceden a cada línea de contenido que contiene una coincidencia para el parámetro Patrón .
Ejemplo 3: Buscar una coincidencia de patrón
En este ejemplo, se buscan varios archivos para encontrar coincidencias para el patrón especificado. El patrón utiliza un cuantificador de expresión regular. Para obtener más información, vea about_Regular_Expressions.
Select-String -Path "$PSHOME\en-US\*.txt" -Pattern '\?'
C:\Program Files\PowerShell\6\en-US\default.help.txt:27: beginning at https://go.microsoft.com/fwlink/?LinkID=108518.
C:\Program Files\PowerShell\6\en-US\default.help.txt:50: or go to: https://go.microsoft.com/fwlink/?LinkID=210614
El Select-String cmdlet usa dos parámetros, Path y Pattern. El parámetro Path usa la variable $PSHOME que especifica el directorio de PowerShell. El resto de la ruta de acceso incluye el subdirectorio en-US y especifica cada *.txt archivo del directorio. El parámetro Pattern especifica que coincida con un signo de interrogación (?) en cada archivo. Una barra diagonal inversa (\) se utiliza como carácter de escape y es necesaria porque el signo de interrogación (?) es un cuantificador de expresión regular.
Select-String muestra la salida en la consola de PowerShell. El nombre de archivo y el número de línea preceden a cada línea de contenido que contiene una coincidencia para el parámetro Patrón .
Ejemplo 4: Usar Select-String en una función
En este ejemplo se crea una función para buscar un patrón en los archivos de ayuda de PowerShell. En este ejemplo, la función solo existe en la sesión de PowerShell. Cuando se cierra la sesión de PowerShell, se elimina la función. Para obtener más información, vea about_Functions.
PS> Function Search-Help
>> {
>> $PSHelp = "$PSHOME\en-US\*.txt"
>> Select-String -Path $PSHelp -Pattern 'About_'
>> }
PS>
PS> Search-Help
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:2: about_ActivityCommonParameters
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:31: see about_WorkflowCommonParameters.
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:33: about_CommonParameters.
La función se crea en la línea de comandos de PowerShell. El Function comando utiliza el nombre Search-Help.
Pulse Intro para empezar a añadir instrucciones a la función. En el símbolo del >> sistema, agregue cada instrucción y presione Entrar como se muestra en el ejemplo. Una vez agregado el corchete de cierre, se vuelve a un símbolo del sistema de PowerShell.
La función contiene dos comandos. La $PSHelp variable almacena la ruta de acceso a los archivos de ayuda de PowerShell.
$PSHOME es el directorio de instalación de PowerShell con el subdirectorio en-US que especifica cada *.txt archivo del directorio.
El Select-String comando de la función utiliza los parámetros Path y Pattern . El parámetro Path utiliza la $PSHelp variable para obtener la ruta. El parámetro Pattern utiliza la cadena About_ como criterio de búsqueda.
Para ejecutar la función, escriba Search-Help. El comando de Select-String la función muestra la salida en la consola de PowerShell.
Ejemplo 5: Buscar una cadena en un registro de eventos de Windows
En este ejemplo se busca una cadena en un registro de eventos de Windows. La variable $_ representa el objeto actual en la canalización. Para obtener más información, consulte sobre_Variables_Automáticas.
$Events = Get-WinEvent -LogName Application -MaxEvents 50
$Events | Select-String -InputObject {$_.message} -Pattern 'Failed'
El Get-WinEvent cmdlet usa el parámetro LogName para especificar el registro de la aplicación. El parámetro MaxEvents obtiene los 50 eventos más recientes del registro. El contenido del registro se almacena en la variable denominada $Events.
La variable $Events se envía a la canalización al cmdlet Select-String.
Select-String utiliza el parámetro InputObject . La $_ variable representa el objeto actual y message es una propiedad del evento. El parámetro Pattern genera la cadena Failed y busca coincidencias en $_.message.
Select-String muestra la salida en la consola de PowerShell.
Ejemplo 6: Buscar una cadena en subdirectorios
En este ejemplo se busca en un directorio y en todos sus subdirectorios una cadena de texto específica.
Get-ChildItem -Path C:\Windows\System32\*.txt -Recurse | Select-String -Pattern 'Microsoft' -CaseSensitive
Get-ChildItem utiliza el parámetro Path para especificar C:\Windows\System32*.txt. El parámetro Recurse incluye los subdirectorios. Los objetos se envían por la canalización a Select-String.
Select-String utiliza el parámetro Pattern y especifica la cadena Microsoft. El parámetro CaseSensitive se usa para que coincida con las mayúsculas y minúsculas exactas de la cadena.
Select-String muestra la salida en la consola de PowerShell.
Nota:
En función de sus permisos, es posible que vea mensajes de acceso denegado en la salida.
Ejemplo 7: Buscar cadenas que no coincidan con un patrón
En este ejemplo se muestra cómo excluir líneas de datos que no coinciden con un patrón.
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\Command.txt -Pattern 'Get', 'Set' -NotMatch
El Get-Command cmdlet envía objetos por la canalización a la Out-File para crear el archivo Command.txt en el directorio actual.
Select-String utiliza el parámetro Path para especificar el archivo Command.txt . El parámetro Pattern especifica Get y Set como patrón de búsqueda. El parámetro NotMatch excluye Get y Set de los resultados.
Select-String muestra la salida en la consola de PowerShell que no incluye Get o Set.
Ejemplo 8: Buscar líneas antes y después de una coincidencia
En este ejemplo se muestra cómo obtener las líneas antes y después del patrón coincidente.
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\Command.txt -Pattern 'Get-Computer' -Context 2, 3
Command.txt:1186:Cmdlet Get-CmsMessage 3.0.0.0 Microsoft.PowerShell.Security
Command.txt:1187:Cmdlet Get-Command 3.0.0.0 Microsoft.PowerShell.Core
> Command.txt:1188:Cmdlet Get-ComputerInfo 3.1.0.0 Microsoft.PowerShell.Management
> Command.txt:1189:Cmdlet Get-ComputerRestorePoint 3.1.0.0 Microsoft.PowerShell.Management
Command.txt:1190:Cmdlet Get-Content 3.1.0.0 Microsoft.PowerShell.Management
Command.txt:1191:Cmdlet Get-ControlPanelItem 3.1.0.0 Microsoft.PowerShell.Management
Command.txt:1192:Cmdlet Get-Counter 3.0.0.0 Microsoft.PowerShell.Diagnostics
El Get-Command cmdlet envía objetos por la canalización a la Out-File para crear el archivo Command.txt en el directorio actual.
Select-String utiliza el parámetro Path para especificar el archivo Command.txt . El parámetro Pattern especifica Get-Computer como patrón de búsqueda. El parámetro Context utiliza dos valores, antes y después, y marca las coincidencias de patrón en la salida con un corchete angular (>). El parámetro Context genera las dos líneas antes de la primera coincidencia de patrón y tres líneas después de la última coincidencia de patrón.
Ejemplo 9: Buscar todas las coincidencias de patrones
En este ejemplo se muestra cómo el parámetro AllMatches encuentra cada coincidencia de patrón en una línea de texto. De forma predeterminada, Select-String solo encuentra la primera aparición de un patrón en una línea de texto. En este ejemplo se usan las propiedades de objeto que se encuentran con el Get-Member cmdlet.
PS> $A = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell'
PS> $A
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:5: Describes the parameters that Windows PowerShell
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:9: Windows PowerShell Workflow adds the activity common
PS> $A.Matches
Groups : {0}
Success : True
Name : 0
Captures : {0}
Index : 4
Length : 10
Value : PowerShell
PS> $A.Matches.Length
2073
PS> $B = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell' -AllMatches
PS> $B.Matches.Length
2200
El Get-ChildItem cmdlet usa el parámetro Path . El parámetro Path usa la variable $PSHOME que especifica el directorio de PowerShell. El resto de la ruta de acceso incluye el subdirectorio en-US y especifica cada *.txt archivo del directorio. Los Get-ChildItem objetos se almacenan en la $A variable. La variable $A se envía a la canalización al cmdlet Select-String.
Select-String usa el parámetro Pattern para buscar la cadena de PowerShell en cada archivo.
Desde la línea de comandos de PowerShell, se muestra el contenido de la $A variable. Hay una línea que contiene dos apariciones de la cadena PowerShell.
La $A.Matches propiedad enumera la primera aparición del patrón PowerShell en cada línea.
La $A.Matches.Length propiedad cuenta la primera aparición del patrón PowerShell en cada línea.
La $B variable usa los Get-ChildItem mismos cmdlets y Select-String , pero agrega el parámetro AllMatches .
AllMatches busca cada aparición del patrón PowerShell en cada línea. Los objetos almacenados en las $A variables y $B son idénticos.
La $B.Matches.Length propiedad aumenta porque, para cada línea, se cuentan todas las apariciones del patrón PowerShell .
Parámetros
-AllMatches
Indica que el cmdlet busca más de una coincidencia en cada línea de texto. Sin este parámetro, Select-String busca solo la primera coincidencia en cada línea de texto.
Cuando Select-String encuentra más de una coincidencia en una línea de texto, sigue emitiendo solo un objeto MatchInfo para la línea, pero la propiedad Matches del objeto contiene todas las coincidencias.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-CaseSensitive
Indica que las coincidencias de cmdlet distinguen entre mayúsculas y minúsculas. De forma predeterminada, las coincidencias no distinguen entre mayúsculas y minúsculas.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Context
Captura el número especificado de líneas antes y después de la línea que coincide con el patrón.
Si introduce un número como valor de este parámetro, ese número determina el número de líneas capturadas antes y después de la coincidencia. Si introduce dos números como valor, el primer número determina el número de líneas antes de la coincidencia y el segundo número determina el número de líneas después de la coincidencia. Por ejemplo: -Context 2,3.
En la pantalla predeterminada, las líneas con una coincidencia se indican mediante un corchete de ángulo recto (>) (ASCII 62) en la primera columna de la pantalla. Las líneas no marcadas son el contexto.
El parámetro Context no cambia el número de objetos generados por Select-String.
Select-String genera un objeto MatchInfo para cada coincidencia. El contexto se almacena como una matriz de cadenas en la propiedad Context del objeto.
Cuando la salida de un Select-String comando se envía a otro Select-String comando, el comando receptor busca solo el texto de la línea coincidente. La línea coincidente es el valor de la propiedad Line del objeto MatchInfo , no el texto de las líneas de contexto. Como resultado, el parámetro Context no es válido en el comando receptor Select-String .
Cuando el contexto incluye una coincidencia, el objeto MatchInfo de cada coincidencia incluye todas las líneas de contexto, pero las líneas superpuestas solo aparecen una vez en la pantalla.
Propiedades de parámetro
| Tipo: | Int32[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Encoding
Especifica el tipo de codificación para el archivo de destino. El valor predeterminado es Default.
Los valores aceptables para este parámetro son los siguientes:
- ASCII usa el juego de caracteres ASCII (7 bits).
- BigEndianUnicode Usa UTF-16 con el orden de bytes big-endian.
- valor predeterminado Usa la codificación que corresponde a la página de códigos activa del sistema (normalmente ANSI).
- OEM Usa la codificación que corresponde a la página de códigos oem actual del sistema.
- unicode usa UTF-16 con el orden de bytes little-endian.
- UTF7 usa UTF-7.
- UTF8 usa UTF-8.
- UTF32 usa UTF-32 con el orden de bytes little-endian.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | Default |
| Valores aceptados: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Exclude
Excluya los elementos especificados. El valor de este parámetro define el parámetro Path. Escriba un elemento de ruta o patrón, como *.txt. Se permiten los caracteres comodín.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | True |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Include
Incluye los elementos especificados. El valor de este parámetro define el parámetro Path. Escriba un elemento de ruta o patrón, como *.txt. Se permiten los caracteres comodín.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | True |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-InputObject
Especifica el texto que se va a buscar. Escriba una variable que contenga el texto o escriba un comando o una expresión que obtenga el texto.
El uso del parámetro InputObject no es lo mismo que el envío de cadenas por la canalización a Select-String.
Cuando canaliza más de una cadena al cmdlet Select-String, busca el texto especificado en cada cadena y devuelve cada cadena que contiene el texto de búsqueda.
Cuando se utiliza el parámetro InputObject para enviar una colección de cadenas, Select-String trata la colección como una sola cadena combinada.
Select-String Devuelve las cadenas como una unidad si encuentra el texto de búsqueda en cualquier cadena.
Propiedades de parámetro
| Tipo: | PSObject |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
Object
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-List
Solo se devuelve la primera instancia de texto coincidente de cada archivo de entrada. Esta es la forma más eficaz de recuperar archivos de lista que tienen contenido que coincide con la expresión regular.
De forma predeterminada, Select-String devuelve un objeto MatchInfo para cada coincidencia que encuentre.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-LiteralPath
Especifica la ruta de acceso a los archivos que se van a buscar. El valor del parámetro LiteralPath se usa exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape. Para obtener más información, consulte sobre_las_normas_de_citación.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | PSPath |
Conjuntos de parámetros
LiteralFile
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-NotMatch
El parámetro NotMatch busca texto que no coincida con el patrón especificado.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Path
Especifica la ruta de acceso a los archivos que se van a buscar. Se permiten los caracteres comodín. La ubicación predeterminada es el directorio local.
Especifique archivos en el directorio, como log1.txt, *.doc, o *.*. Si especifica solo un directorio, se produce un error en el comando.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | Local directory |
| Admite caracteres comodín: | True |
| DontShow: | False |
Conjuntos de parámetros
File
| Posición: | 1 |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Pattern
Especifica el texto que se va a buscar en cada línea. Escriba una cadena o una expresión regular. Si escribe una cadena, use el parámetro SimpleMatch .
Para obtener más información sobre las expresiones regulares, consulte about_Regular_Expressions.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | 0 |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Quiet
Indica que el cmdlet devuelve un valor booleano (True o False), en lugar de un objeto MatchInfo . El valor es True si se encuentra el patrón; de lo contrario, el valor es False.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-SimpleMatch
Indica que el cmdlet usa una coincidencia simple en lugar de una coincidencia de expresión regular. En una coincidencia simple, Select-String busca el texto en la entrada del parámetro Patrón . No interpreta el valor del parámetro Pattern como una instrucción de expresión regular.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
PSObject
Puede canalizar cualquier objeto que tenga un método ToString a Select-String.
Salidas
Microsoft.PowerShell.Commands.MatchInfo or System.Boolean
De forma predeterminada, la salida es un conjunto de objetos MatchInfo con uno para cada coincidencia encontrada. Si utiliza el parámetro Quiet , la salida es un valor booleano que indica si se encontró el patrón.
Notas
Select-String es similar a grep en UNIX o findstr.exe en Windows.
El alias sls para el Select-String cmdlet se introdujo en PowerShell 3.0.
Nota:
De acuerdo con los verbos aprobados para comandos de PowerShell, el prefijo de alias oficial para Select-* los cmdlets es sc, no sl. Por lo tanto, el alias adecuado para Select-String debe ser scs, no sls. Esta es una excepción a esta regla.
Para utilizar Select-String, escriba el texto que desea buscar como valor del parámetro Patrón . Para especificar el texto que se va a buscar, utilice los siguientes criterios:
- Escriba el texto en una cadena entrecomillada y, a continuación, críelo a
Select-String. - Almacene una cadena de texto en una variable y, a continuación, especifique la variable como el valor del parámetro InputObject .
- Si el texto se almacena en archivos, utilice el parámetro Path para especificar la ruta de acceso a los archivos.
De forma predeterminada, Select-String interpreta el valor del parámetro Pattern como una expresión regular. (Para obtener más información, consulte about_Regular_Expressions.
Puede usar el parámetro SimpleMatch para invalidar la coincidencia de expresiones regulares. El parámetro SimpleMatch busca instancias del valor del parámetro Pattern en la entrada.
La salida predeterminada de Select-String es un objeto MatchInfo , que incluye información detallada sobre las coincidencias. La información del objeto es útil cuando se busca texto en archivos, ya que los objetos MatchInfo tienen propiedades como Filename y Line. Cuando la entrada no procede del archivo, el valor de estos parámetros es InputStream.
Si no necesita la información del objeto MatchInfo , use el parámetro Quiet . El parámetro Quiet devuelve un valor booleano (True o False) para indicar si encontró una coincidencia, en lugar de un objeto MatchInfo .
Al hacer coincidir frases, Select-String utiliza la referencia cultural actual establecida para el sistema. Para encontrar la referencia cultural actual, use el cmdlet Get-Culture.
Para buscar las propiedades de un objeto MatchInfo , escriba el siguiente comando:
Select-String -Path test.txt -Pattern 'test' | Get-Member | Format-List -Property *