Skip to main content

Finds text in strings and files in PowerShell. You can use Select-String similar to grep in UNIX or findstr.exe in Windows.

# To search for a pattern within a file:
Select-String -Path "<path\to\file>" -Pattern '<search_pattern>'

# To search for an exact string (disables regular expressions):
Select-String -SimpleMatch "<exact_string>" <path\to\file>

# To search for pattern in all '.ext' files in current dir:
Select-String -Path "<*.ext>" -Pattern '<search_pattern>'

# To capture the specified number of lines before and after the line that matches the pattern:
Select-String --Context <2,3> "<search_pattern>" <path\to\file>

# To search 'stdin' for lines that do not match a pattern:
Get-Content <path\to\file> | Select-String --NotMatch "<search_pattern>"