Awesome Open Source
Awesome Open Source


Example based guide to mastering GNU awk.

The book also includes exercises to test your understanding, which is presented together as a single file in this repo -

For solutions to the exercises, see

See to keep track of changes made to the book.


You can purchase the book using these links:

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 pdf from markdown using pandoc if you are interested in the ebook creation process.

For web version of the book, visit


Please open an issue if you spot any typo/errors.

I'd also highly appreciate your feedback about the book.



Table of Contents

  1. Preface
  2. Installation and Documentation
  3. awk introduction
  4. Regular Expressions
  5. Field separators
  6. Record separators
  7. In-place file editing
  8. Using shell variables
  9. Control Structures
  10. Built-in functions
  11. Multiple file input
  12. Processing multiple records
  13. Two file processing
  14. Dealing with duplicates
  15. awk scripts
  16. Gotchas and Tips
  17. Further Reading


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


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

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
shell (9,857
linux (2,336
command-line (509
regex (160
awk (46
ebooks (39
exercises (37
gnu (20

Find Open Source By Browsing 7,000 Topics Across 59 Categories