DEV Community

abbazs
abbazs

Posted on • Edited on

4 3

How to find files containing a specific text using grep?

Using grep we can do this.

grep -rnw '/path/to/somewhere/' -e 'pattern'
Enter fullscreen mode Exit fullscreen mode

-r or -R is recursive
-n is line number
-w stands for match the whole word
-l (lower-case L) can be added to just give the file name of matching files
-e is the pattern used during the search
--exclude, --include, --exclude-dir flags can be used for targeted search

To search python or in json files only

grep --include=\*.{py,json} -rnw '/path/to/somewhere/' -e "pattern"
Enter fullscreen mode Exit fullscreen mode

To search excluding pyc files

grep --exclude=\*.pyc -rnw '/path/to/somewhere/' -e "pattern"
Enter fullscreen mode Exit fullscreen mode

To search excluding directories

grep --exclude-dir={test,.vscode, *__cache*} -rnw '/path/to/somewhere/' -e "pattern"
Enter fullscreen mode Exit fullscreen mode

To list only the file names containing search text

grep -rl '/path/to/somewhere/' -e "pattern"
Enter fullscreen mode Exit fullscreen mode

For detailed options refer to man pages or man grep

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (0)

Retry later
👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay