Hello!
I am pleased to announce a new version of my “CLI text processing with GNU awk” ebook.
Learn the GNU awk
command step-by-step from beginner to advanced levels with hundreds of examples and exercises. This book will dive deep into field processing, show examples for filtering features, multiple file processing, how to construct solutions that depend on multiple records, how to compare records and fields between two or more files, how to identify duplicates while maintaining input order and so on. Regular Expressions will also be discussed in detail.
Links:
-
PDF/EPUB versions: https://learnbyexample.gumroad.com/l/gnu_awk (free till 31-August-2023)
-
Web version: https://learnbyexample.github.io/learn_gnuawk/
-
Markdown source, example files, etc: https://github.com/learnbyexample/learn_gnuawk
-
Interactive TUI app for exercises: https://github.com/learnbyexample/TUI-apps/blob/main/AwkExercises
I would highly appreciate it 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.
Happy learning :)
Two weeks after using awk the first time for real, I noticed the first grey hair in my beard.
Could be coincidence, but I think we all know it’s not.
Soon enough your hair will fall out too, such is the destiny of a wizard
No! It can’t be! I’m not ready!
so we can actually learn it? I thought it was like regex: we copy an example from stack overflow and cross our fingers.
I’ve written books on regex too, if you are interested in learning ;)
I have learned Regen, it’s not that hard actually. My recommendation: https://regex101.com
I just told myself earlier today that I should learn how to actually use awk, rather that copying from the internet. Thanks for this!
Hope you find the book useful :)
I’d also suggest these shorter guides to get started:
I very much enjoyed Command line text processing with Coreutils. It helped me when I was writing my thesis, which basically consisted of several (quite long) pipelines. It would have been quite helpful if I’d known
awk
, so I’ll check this book out!The web version looks very nice, but the PDF version feels a bit iffy (maybe a bit cheap?) to me — for example there are some bad pagebreaks (e.g. between pages 9 and 10 or pages 14 and 15). How do you create it? Perhaps you should get more hands-on with the typesetting. (I’m no expert on typography, but it would be a shame if your work was detracted from by the little imperfections that some people are sensitive to.)
Thanks a lot for the feedback on Coreutils book! It’s so nice to hear that it helped in your thesis.
Regarding the ebook versions, I use
pandoc
to convert GitHub style Markdown to PDF/EPUB (wrote a blog post about my process here: https://learnbyexample.github.io/customizing-pandoc/). I had to search through stackexchange threads to customize the few things I could. I don’t know how to fix the kind of page breaks you mentioned. But, I’ll try to find a solution. Thanks again for the feedback :)I can’t imagine writing a whole book in Markdown. I couldn’t live without the ability to create my own macros (like I can in TeX). But I digress. Those bad page breaks could perhaps be solved by using the nowidow (or any similar) package. If that doesn’t work, manually put
\pagebreak
or\newpage
before the offending lines.Keep up the good work! :-)
NB: awk + sed + shell is approximately Perl.
You are on a slippery slope. Which you might enjoy tbh. Good luck either way.
I have a book for Perl One-Liners as well, which I’m currently revising :)
deleted by creator
IMHO awk should be more popular than it is. Sed should be excluded from core-utils.
sed is very simple, why?
you will pry my
s/a/b/
from my cold dead hands!