DEV Community

Sundeep
Sundeep

Posted on • Edited on • Originally published at learnbyexample.github.io

Mastering GNU grep and ripgrep

Hello!

I recently published my book on GNU GREP and RIPGREP

grep cover image

Get the e-book using either of these sites:

You can also get the ebooks as part of Magical one-liners bundle using these links:

You can also get the ebooks as part of Awesome Regex bundle using these links:

Note Please use a valid e-mail and save the mail you receive, you'll get free updates for future versions.

Code snippets, example files, sample chapters, etc are available at https://github.com/learnbyexample/learn_gnugrep_ripgrep

This book covers features of GNU grep and ripgrep along with discussion on BRE/ERE/PCRE(2)/Rust regular expressions. Examples are used extensively, please follow along by typing them out. Exercises are also included to test your understanding.

Some of you might be familiar with my Command Line Text Processing repo.

GitHub logo learnbyexample / Command-line-text-processing

⚡ From finding text to search and replace, from sorting to beautifying text and more 🎨

Command Line Text Processing

Learn about various commands available for common and exotic text processing needs. Examples have been tested on GNU/Linux - there'd be syntax/feature variations with other distributions, consult their respective man pages for details.


⚠️ ⚠️ I'm no longer actively working on this repo. Instead, I've been converting existing chapters into ebooks (see ebook section below for links), available under the same license. These ebooks are better formatted, updated for newer versions of the software, includes exercises, solutions, etc. Once all the chapters have been converted, I'll be archiving this repo.



Chapters

This book is based on the grep chapter - edited to add more descriptions, better examples, exercises, etc. Also, I took the plunge and checked out ripgrep while working on this book. I'd assumed it would be similar to gnu grep and I just need simple changes to present it in the book. Well, it turned out lot more work and I had to settle for not covering all the options and customizations. In hindsight, would've been better if I did a separate book. Speed wise, ripgrep is very impressive and has plenty of additional nice features. For example: the multiline -U and replace -r options of ripgrep are quite handy - you can use this instead of sed for some cases with added advantage of speed, -F option and better regex features.

Table of Contents

  • Preface
  • Introduction
  • Frequently used options
  • BRE/ERE Regular Expressions
  • Context matching
  • Recursive search
  • Miscellaneous options
  • Perl Compatible Regular Expressions
  • Gotchas and Tricks
  • ripgrep
  • Further Reading

Hope you find the book useful. I would be grateful for your feedback, book review and suggestions.

Happy learning :)

Top comments (4)

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

If it it's a book on grep, it better be one line per page. But seriously grep is great one of the more curious programs. IL be checking this out, thank you.

Collapse
 
learnbyexample profile image
Sundeep • Edited

haha, cool, happy learning :)

Seriously, this has 100+ pages - I've tried to cover most of the options provided by GNU grep and I left out few topics am not experienced enough (like locale settings, multicolor, etc). There are two big chapters on BRE/ERE and PCRE regex. And there's a chapter on ripgrep too, plus exercises.. so you can see how pages kept growing

Collapse
 
rhartzell profile image
Rod Hartzell

Fantastic! Thank you sir!

Collapse
 
learnbyexample profile image
Sundeep

Thanks for checking it out, happy learning :)