I recently published my book on GNU GREP and RIPGREP
and it is free to download till 19-May-2019! You can still pay if you wish :)
Get the e-book using either of these sites:
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 on
GNU GREP and RIPGREP
Example based guide to mastering GNU grep and ripgrep.
The book also includes exercises to test your understanding, which is presented together as a single file in this repo - Exercises.md
See Version_changes.md to keep track of changes made to the book.
You can purchase the book using these links:
- You can also get the book as part of Magical one-liners bundle from https://gumroad.com/l/oneliners or https://leanpub.com/b/oneliners
- You can also get the book as part of Awesome Regex bundle from https://leanpub.com/b/regex or https://gumroad.com/l/regex
- See https://learnbyexample.github.io/books/ for list of other books
For a preview of the book, see sample chapters
Please open an issue if you spot any typo/errors.
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.
⚡ 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.
Cat, Less, Tail and Head
- cat, less, tail, head, Text Editors
- GNU grep
- GNU sed
- GNU awk
- Perl the swiss knife
- Ruby one liners
- sort, uniq, comm, shuf
- paste, column, pr, fold
Whats the difference
- cmp, diff
- wc, du, df, touch, file
- cut, tr, basename, dirname, xargs, seq
Possible additions - seems like these won't be coming any time soon :(
- Parsers for html, xml, csv, json, etc
- Renaming files
- other commands like split, combine, datamash, etc
- Please open an issue for typos/bugs/suggestions/etc
- Even for pull requests, open an issue for discussion…
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
- Frequently used options
- BRE/ERE Regular Expressions
- Context matching
- Recursive search
- Miscellaneous options
- Perl Compatible Regular Expressions
- Gotchas and Tricks
- Further Reading
Hope you find the book useful. I would be grateful for your feedback, book review and suggestions.
Happy learning :)