Windows PowerShell Select-String equivalent in Linux
Finds lines matching a string or regular expression in files or piped input.
PowerShell Select-String
grep PATTERN FILE
grep PATTERN FILE
grep PATTERN FILE
Overview
What this command does
On Windows, "PowerShell Select-String" is used to search text patterns. On Linux, the closest practical mapping shown here is "grep PATTERN FILE". Finds lines matching a string or regular expression in files or piped input. This reference is grouped under PowerShell Equivalents → Text Processing.
Windows → Linux context
What changes when you use this on Linux?
Equivalent task, different tool
Windows PowerShell Select-String maps to grep PATTERN FILE for this task. Treat this as a workflow mapping rather than a character-for-character syntax translation.
Portable across the compared distros
The Debian/Ubuntu, Fedora and Arch rows use the same command in this mapping. Package availability or defaults can still vary, so check the installed tool version when an option behaves differently.
For the broader concept behind this mapping, read PowerShell vs Bash.
Practical tasks
Common use cases
Search text patterns
Finds lines matching a string or regular expression in files or piped input.
grep "error" app.log
Find matching lines
grep -rin "todo" src/
Search recursively
journalctl | grep -i "failed"
Filter piped output
Ready to run
Copyable Linux commands
Review paths, device names, package names and permissions before running any command.
grep "error" app.log
grep -rin "todo" src/
journalctl | grep -i "failed"
Walkthrough
Examples with explanations
grep "error" app.log # search one file
grep -rin "todo" src/ # search a directory recursively
journalctl | grep -i "failed" # filter another command
Reference
Common options and variations
| Command or option | Use |
|---|---|
grep "error" app.log | Find matching lines |
grep -rin "todo" src/ | Search recursively |
journalctl | grep -i "failed" | Filter piped output |
Distro differences
Debian/Ubuntu vs Fedora vs Arch
Debian/Ubuntu, Fedora and Arch all use "grep PATTERN FILE" for this mapping. The command syntax shown here is portable across the three rows, although installed versions and system defaults can still vary.
| Distribution | Package manager / base | Equivalent command | Difference to notice |
|---|---|---|---|
| Debian/Ubuntu | same command | grep PATTERN FILE |
Same command on this distribution. |
| Fedora | same command | grep PATTERN FILE |
Same command on this distribution. |
| Arch | same command | grep PATTERN FILE |
Same command on this distribution. |
Keep learning