Esta publicación tiene como objetivo explorar el uso primario y avanzado del cmdlet de cadena de selección PowerShell.
Cómo usar PowerShell Select-String Cmdlet
En PowerShell, el cmdlet de la cadena de selección se puede usar para buscar un solo patrón o múltiples patrones en el archivo o cadena. La siguiente sintaxis se usa para referir el cmdlet de selección:
Selección de cuerda
Los siguientes parámetros se pueden usar con el cmdlet de la cuerda de selección:
Ejemplo 1: para seleccionar el patrón específico (texto) en un archivo
El código de muestra es el siguiente para seleccionar el patrón (i.mi., texto/cadena) en el "Muestra100.CSV" archivo. En primer lugar, el camino absoluto del "Muestra100.CSV"Se da después del"-CaminoParámetro. Luego, el patrón "Marca"Se establece utilizando el parámetro"-Patrón":
SELECCIÓN -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Patrón" Marca "
El patrón era "Marca"Y se observa que la cadena de selección ha impreso la línea (junto con el número de línea) que contiene el"Marca" en eso.
Ejemplo 2: para seleccionar los múltiples patrones (texto) en un archivo
Puede seleccionar o encontrar múltiples patrones dentro del archivo. Para hacerlo, el texto a buscar se proporciona después del "-PatrónParámetro. El siguiente comando busca el "Marca" y "Péter"Palabras clave dentro del"Muestra.CSV" archivo:
SELECCIÓN -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Patrón" Marca "," Peter "
Como puede ver, esas líneas están impresas que contienen Mark o Peter.
Ejemplo 3: para seleccionar solo registros limitados de patrones especificados (texto) en un archivo
El cmdlet de la cuerda de selección se puede usar para buscar el patrón específico en un archivo, pero solo se buscaría el número limitado de instancias. En el ejemplo de Below, el ".CSV"El archivo se está filtrando para el patrón"Marca". Sin embargo, el límite se establece en 2 utilizando el "-PrimeroParámetro:
SELECCIÓN -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Patrón" Marca "| Select -Object * -First 2
En la salida anterior, las dos primeras ocurrencias del "MarcaLa palabra clave se muestra en la terminal de PowerShell.
Ejemplo 4: para seleccionar los patrones en columnas especificadas
El cmdlet de string de selección se puede utilizar con el objeto Select-Object para seleccionar coincidir con el patrón y devolver las propiedades específicas de la línea que contiene esos patrones. Para esto, la coincidencia de patrones se especifica en el cmdlet de la cuerda de selección, y los filtros se aplicarán en el objeto Select-Object.
En nuestro caso, el siguiente comando de ejemplo ejerce el "Selección de cuerda"Cmdlet para que coincidan los patrones"Péter" o "Phil" en un Archivo CSV. Este comando Select-String se tiene en cuenta con el Selección-objeto cmdlet para obtener el Linenumber, patrón, nombre de archivo, y Línea que contiene los patrones Peter o Phil:
SELECCIÓN -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Peter "," Phil "| Select -Object Linenumber, Patrón, nombre de archivo, línea
Se observa a partir de la salida que se imprimen el número de lino, el patrón, el nombre de archivo y las líneas que contienen los patrones, Peter o Phil.
Ejemplo 5: para seleccionar los patrones "Sensibles de mayúsculas" (texto) en un archivo
Puedes coincidir con un patrón con "-Distingue mayúsculas y minúsculasParámetro para considerar el caso de la carta también. El comando de ejemplo busca las líneas que contienen "Péter":
SELECCIÓN -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV " -Patrón" Peter " -Classensible
Como puede ver, solo se imprimen tres registros que contienen la palabra clave de Peter.
Ejemplo 6: para seleccionar los patrones inigualables (texto) en un archivo
Con la ayuda del "-No más municipalParámetro ", solo podemos seleccionar aquellos registros que no coincidan con las palabras clave específicas. En el siguiente ejemplo, hemos especificado dos patrones ("Marca" y "Peter") en el parámetro -notmatch:
SELECCIÓN -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Patrón" Marca "," Peter "-NotMatch
Como se puede ver en los registros anteriores, el registro impreso en la consola no contiene "Marca" ni "Péter".
Conclusión
En PowerShell, el cmdlet de cadena de selección de PowerShell se utiliza para encontrar el texto/patrón especificado en el archivo. El uso del comando Select-String se puede mejorar utilizando diferentes parámetros (-notMatch, -CassSensitive) y Propiedades (nombre de archivo, línea, patrón). Además, puede extender el uso del cmdlet de la cuerda de selección utilizandolo con select-object. Has aprendido el funcionamiento del cmdlet de la cuerda de selección y sus casos de uso en varios escenarios.