You are likely to be familiar with using a search and replace dialog (usually invoked with the
Ctrl+H shortcut) to locate the occurrences of a particular string and replace it with something else. The
sed command is a versatile and feature-rich version for search and replace operations, usable from the command line. An important feature that GUI applications may lack is regular expressions, a mini-programming language to precisely define a matching criteria.
This book heavily leans on examples to present features one by one. In addition to command options, regular expressions will also be discussed in detail.
Exercises are also included to test your understanding.
You should be familiar with command line usage in a Unix-like environment. You should also be comfortable with concepts like file redirection and command pipelines. Knowing the basics of the
grep command will be handy in understanding the filtering features of
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
Thank you for choosing to write and share your knowledge. I read your books on CLI and sed - I think they are very comprehensive and very well explained. Keep up the great work — feedback on twitter
For a preview of the book, see sample chapters on GitHub.
Visit https://github.com/learnbyexample/learn_gnused for markdown source, example files, exercise solutions and other details related to the book.
Based on the book contents as well as the exercises, I made an interactive TUI app with 50+ questions. Reference solutions are also provided.
- In-place file editing
- Selective editing
- BRE/ERE Regular Expressions
- Shell substitutions
- z, s and f command line options
- append, change, insert
- Adding content from file
- Control structures
- Processing lines bounded by distinct markers
- Gotchas and Tricks
- Further Reading
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, Gumroad rating, 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:
- Issue Manager: https://github.com/learnbyexample/learn_gnused/issues
- E-mail: email@example.com
- Twitter: https://twitter.com/learn_byexample
You'll get PDF and EPUB versions of the book.