← All commands
Topic hub PowerShell Equivalents
Windows Linux PowerShell Equivalents Expanded guide Text Processing

Windows PowerShell Select-String equivalent in Linux

Finds lines matching a string or regular expression in files or piped input.

Windows PowerShell Select-String
→
Linux equivalents
Debian/Ubuntu same command
grep PATTERN FILE
Fedora same command
grep PATTERN FILE
Arch same command
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.

Migration tip: <code>grep</code> is case-sensitive by default. Combine <code>-r</code>, <code>-i</code> and <code>-n</code> for recursive, case-insensitive searches with line numbers.

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.

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 optionUse
grep "error" app.logFind 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.

DistributionPackage manager / baseEquivalent commandDifference 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

Related PowerShell Equivalents commands