Categories
Linux

Search for Multiple Strings in Linux Command Line

Update (2026): This guide has been updated with modern Linux CLI tools, performance optimizations, and common terminal patterns for searching multiple strings seamlessly.

Searching for multiple strings inside text files or terminal streams is an absolute staple of system administration, DevOps, and backend software engineering. While traditional Linux systems offer classic tools like grep, modern environments also benefit from blazing-fast alternatives like ripgrep (rg).

In this practical guide, we will break down the most effective ways to look for multiple search terms simultaneously.

1. Using grep with the OR Operator (Traditional Way)

The classic way to search for multiple strings using standard grep requires escaping the pipe | operator. This acts as a logical OR.

Bash

# General syntax
grep 'string1\|string2\|string3' filename.txt

# Example: Searching a log file for errors or warnings
grep 'ERROR\|WARNING\|CRITICAL' server.log

2. Using Extended Grep (grep -E or egrep)

To avoid messy backslash escapes, you can switch to Extended Regular Expressions by appending the -E flag (or using egrep). This makes your syntax remarkably cleaner.

Bash

# Using grep -E
grep -E 'string1|string2|string3' filename.txt

# Example: Searching for different modern framework instances
grep -E 'react|vue|angular' package.json

3. Using Multiple -e Flags

If you prefer explicit declaration or want to cleanly build your search strings dynamically using terminal scripts, you can pass multiple individual -e patterns.

Bash

# Using explicit flag pairs
grep -e 'string1' -e 'string2' filename.txt

4. The Modern Standard: Using ripgrep (rg)

If you work on modern microservices or large codebases, standard grep can feel slow. ripgrep is a modern alternative written in Rust that respects .gitignore files out of the box and matches strings using regex syntax seamlessly.

Bash

# Simple alternation using ripgrep
rg 'string1|string2' filename.txt

Quick Commands Cheat Sheet

ToolCommand PatternBest Used For
grep -Egrep -E 'A|B'Built-in compatibility across all POSIX servers
grep -egrep -e 'A' -e 'B'Scripting & automated parsing loops
ripgreprg 'A|B'Blazing-fast searches across massive repositories

Frequently Asked Questions (FAQs)

How do I search for multiple strings across all files in a directory?

You can combine the extended regex flag -E with the recursive flag -r. For example: grep -Er 'string1|string2' /path/to/directory/

How can I make the multiple string search case-insensitive?

Simply append the -i flag to your command. This tells grep to match both uppercase and lowercase variations of your keywords: grep -Ei ‘error|warning’ server.log

How do I count the total occurrences of multiple search terms?

Add the -c flag to get a specific count of matching lines, or pipe the output to wc -l: grep -E ‘string1|string2’ filename.txt | wc -l

Can I search for lines containing ALL keywords instead of ANY (Logical AND)?

Yes, but instead of using a pipe inside a single pattern, you chain multiple grep commands together via standard Unix piping: grep ‘string1’ filename.txt | grep ‘string2’

Categories
Web

Remove Unwanted Apps From Your Facebook Profile…

Image representing Facebook as depicted in Cru...
Image via CrunchBase

Facebook might be a fun social networking site to meet new friends and interact with them but thanks to the unimaginable number of applications available on Facebook it makes it a hard task to keep tab of all the apps you have authorized. A lot of these apps have access to information like your photos, friends and personal details. It clearly seems like a good idea to keep an eye on the applications you have added on your facebook page.

One of the simplest ways to check on the applications you have added is by following the below steps.

1. Go to the Application Settings page from your Facebook home page. The link is available under Account

2. In the next page, click on the drop down box next to the text “Show:” and choose Authorized

3. Double check the list of applications you have added, to remove an application simply hit the x at the end of the line for each application.

Do this check once every few weeks depending you your Facebook usage.

Reblog this post [with Zemanta]
Categories
Open Source Web

JDownloader – Download Files From File Sharing Sites At Will…

JDownloader (How to)
Image by .::E1ement2048::. via Flickr

JDownloader is a free java-based program that completely automates the process of downloading files from popular file sharing sites like Rapidshare, Megaupload ect…

The problem with most file sharing sites is that the free accounts have a limit on the amount to data you can download and additionally it requires you to wait for a certain period of time before downloading the files. JDownloader is a beautiful application that automates the process making it possible for you to schedule downloads and even queue files to be downloaded.

JDownloader works on Windows/Mac/Linux and is simple to get started with.
So if you like to download a lot of files from file sharing sites then give JDownloader a try…

Reblog this post [with Zemanta]
Categories
Open Source Solutions Web

Best DNS, Got Even Better…

A while back on this site we had mentioned about a DNS benchmarking tool called Namebench.   The Google Code project has been having some major updates since then and now lookes more jazzier and generates some lovely graphs after analysing your connection for you.

The tool can be downloaded here: http://code.google.com/p/namebench/

Screenshots:

Reblog this post [with Zemanta]