Home

Awesome

CLI text processing with GNU grep and ripgrep

Example based guide to mastering GNU grep and ripgrep. Visit https://youtu.be/MSbGokwHm-A for a short video about the book.

<p align="center"><img src="./images/grep_ls.png" alt="CLI text processing with GNU grep and ripgrep ebook cover image" /></p>

The book also includes exercises to test your understanding, which are presented together as a single file in this repo — Exercises.md

For solutions to the exercises, see Exercise_solutions.md.

You can also use this interactive TUI app to practice some of the exercises from the book.

See Version_changes.md to keep track of changes made to the book.

<br>

E-book

For a preview of the book, see sample chapters.

The book can also be viewed as a single markdown file in this repo. See my blogpost on generating pdfs from markdown using pandoc if you are interested in the ebook creation process.

For the web version of the book, visit https://learnbyexample.github.io/learn_gnugrep_ripgrep/

<br>

Feedback and Contributing

⚠️ ⚠️ Please DO NOT submit pull requests. Main reason being any modification requires changes in multiple places.

I would highly appreciate if you'd let me know how you felt about this book. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.

You can reach me via:

<br>

Table of Contents

  1. Preface
  2. Introduction
  3. Frequently used options
  4. BRE/ERE Regular Expressions
  5. Context matching
  6. Recursive search
  7. Miscellaneous options
  8. Perl Compatible Regular Expressions
  9. Gotchas and Tricks
  10. ripgrep
  11. Further Reading
<br>

Acknowledgements

Special thanks to all my friends and online acquaintances for their help, support and encouragement, especially during difficult times.

<br>

License

The book is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

The code snippets are licensed under MIT, see LICENSE file.