-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathindex.html
1 lines (1 loc) Β· 11.2 KB
/
index.html
1
<!doctype html><html lang=en><head><meta content="IE=edge" http-equiv=X-UA-Compatible><meta content="text/html; charset=utf-8" http-equiv=content-type><meta content="width=device-width,initial-scale=1.0,maximum-scale=1" name=viewport><title>CLI text processing with GNU awk book announcement</title><link href=https://learnbyexample.github.io/atom.xml rel=alternate title=RSS type=application/atom+xml><script src=https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js></script><link href=https://learnbyexample.github.io/site.css rel=stylesheet><meta content="CLI text processing with GNU awk book announcement" property=og:title><meta content=website property=og:type><meta content="Learn GNU awk with hundreds of examples and exercises." property=og:description><meta content=https://learnbyexample.github.io/cli-text-processing-awk-announcement/ property=og:url><meta content=https://raw.githubusercontent.com/learnbyexample/learn_gnuawk/master/images/gawk_ls.png property=og:image><meta content=1280 property=og:image:width><meta content=720 property=og:image:height><meta content=summary_large_image property=twitter:card><meta content=@learn_byexample property=twitter:site><link href=https://learnbyexample.github.io/favicon.svg rel=icon><link rel="shortcut icon" href=https://learnbyexample.github.io/favicon.png><body><div class=container><div class=mobile-navbar id=mobile-navbar><div class=mobile-header-logo><a class=logo href=/>learnbyexample</a></div><div class="mobile-navbar-icon icon-out"><span></span><span></span><span></span></div></div><nav class="mobile-menu slideout-menu slideout-menu-left" id=mobile-menu><ul class=mobile-menu-list><li class=mobile-menu-item><a href=https://learnbyexample.github.io/books> Books </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/mini> Mini </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/tips> Tips </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/tags> Tags </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/about> About </a></ul></nav><header id=header><div class=logo><a href=https://learnbyexample.github.io>learnbyexample</a></div><nav class=menu><ul><li><a href=https://learnbyexample.github.io/books> Books </a><li><a href=https://learnbyexample.github.io/mini> Mini </a><li><a href=https://learnbyexample.github.io/tips> Tips </a><li><a href=https://learnbyexample.github.io/tags> Tags </a><li><a href=https://learnbyexample.github.io/about> About </a></ul></nav></header><main><div class=content id=mobile-panel><div class=post-toc id=post-toc><h2 class=post-toc-title>Contents</h2><div class="post-toc-content always-active"><nav id=TableOfContents><ul><li><a class=toc-link href=https://learnbyexample.github.io/cli-text-processing-awk-announcement/#release-offers>Release offers</a><li><a class=toc-link href=https://learnbyexample.github.io/cli-text-processing-awk-announcement/#what-s-new>What's new?</a><li><a class=toc-link href=https://learnbyexample.github.io/cli-text-processing-awk-announcement/#videos>Videos</a><li><a class=toc-link href=https://learnbyexample.github.io/cli-text-processing-awk-announcement/#interactive-tui-app>Interactive TUI app</a><li><a class=toc-link href=https://learnbyexample.github.io/cli-text-processing-awk-announcement/#table-of-contents>Table of Contents</a><li><a class=toc-link href=https://learnbyexample.github.io/cli-text-processing-awk-announcement/#web-version>Web version</a><li><a class=toc-link href=https://learnbyexample.github.io/cli-text-processing-awk-announcement/#github-repo>GitHub repo</a><li><a class=toc-link href=https://learnbyexample.github.io/cli-text-processing-awk-announcement/#newsletter>Newsletter</a><li><a class=toc-link href=https://learnbyexample.github.io/cli-text-processing-awk-announcement/#feedback-and-errata>Feedback and Errata</a></ul></nav></div></div><article class=post><header class=post__header><h1 class=post__title><a href=https://learnbyexample.github.io/cli-text-processing-awk-announcement/>CLI text processing with GNU awk book announcement</a></h1><div class=post__meta><span class=post__time>2025-03-26</span></div></header><div class=post-content><p>Hello!<p>I am pleased to announce a new version of my <strong>CLI text processing with GNU awk</strong> ebook.<p>Learn the <code>GNU awk</code> command step-by-step from beginner to advanced levels with <strong>hundreds of examples and exercises</strong>. 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. <strong>Regular expressions</strong> will also be discussed in detail.</p><span id=continue-reading></span><br><h2 id=release-offers>Release offers<a aria-label="Anchor link for: release-offers" class=zola-anchor href=#release-offers>π</a></h2><p>To celebrate the new release, you can download the PDF/EPUB versions of <strong>CLI text processing with GNU awk</strong> for FREE till 06-April-2025. You can still pay if you wish ;)<ul><li><a href=https://learnbyexample.gumroad.com/l/gnu_awk>Gumroad</a><li><a href=https://leanpub.com/gnu_awk/c/free>Leanpub</a></ul><p>Here are some more amazing offers:<ul><li><strong>All 13 books bundle</strong> is $18 (normal price $36) β <a href=https://leanpub.com/b/learnbyexample-all-books/c/half_price>Leanpub</a> or <a href=https://learnbyexample.gumroad.com/l/all-books/HalfPrice>Gumroad</a><li><strong>Linux CLI Text Processing</strong> is $10 (normal price $20) β <a href=https://leanpub.com/b/linux-cli-text-processing/c/half_price>Leanpub</a> or <a href=https://learnbyexample.gumroad.com/l/linux-cli-text-processing/HalfPrice>Gumroad</a></ul><br><h2 id=what-s-new>What's new?<a aria-label="Anchor link for: what-s-new" class=zola-anchor href=#what-s-new>π</a></h2><ul><li>Command version updated to <strong>GNU awk 5.3.1</strong><li>Added details for the <code>--csv</code> option and the <code>\u</code> escape sequence<li>Corrected typos, updated exercises, descriptions and external links<li>Updated Acknowledgements section</ul><br><h2 id=videos>Videos<a aria-label="Anchor link for: videos" class=zola-anchor href=#videos>π</a></h2><p align=center><iframe allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" allowfullscreen frameborder=0 height=315 loading=lazy src=https://www.youtube.com/embed/KIa_EaYwGDI width=560></iframe><p>Check out my <a href=https://learnbyexample.github.io/tips/>programming tips</a> covering Python, command line tools and Vim:<ul><li><a href="https://www.youtube.com/playlist?list=PLTv2U3HnAL4PlFDiH3FXTHXRbhWs2sB3F">Python tips</a><li><a href="https://www.youtube.com/playlist?list=PLTv2U3HnAL4PNTmRqZBSUgKaiHbRL2zeY">Linux command line tips</a><li><a href="https://www.youtube.com/playlist?list=PLTv2U3HnAL4NN2tK-59ZiNBm-o64-Yvos">Vim tips</a></ul><br><h2 id=interactive-tui-app>Interactive TUI app<a aria-label="Anchor link for: interactive-tui-app" class=zola-anchor href=#interactive-tui-app>π</a></h2><p>I also wrote an <a href=https://github.com/learnbyexample/TUI-apps/blob/main/AwkExercises>interactive TUI app</a> based on some of the exercises from the ebook. Reference solutions are also provided.<p align=center><img alt="Sample screenshot from the interactive TUI app for awk exercises" loading=lazy src=https://raw.githubusercontent.com/learnbyexample/TUI-apps/main/AwkExercises/awk_exercises.png></p><br><h2 id=table-of-contents>Table of Contents<a aria-label="Anchor link for: table-of-contents" class=zola-anchor href=#table-of-contents>π</a></h2><ol><li>Preface<li>Installation and Documentation<li>awk introduction<li>Regular Expressions<li>Field separators<li>Record separators<li>In-place file editing<li>Using shell variables<li>Control Structures<li>Built-in functions<li>Multiple file input<li>Processing multiple records<li>Two file processing<li>Dealing with duplicates<li>awk scripts<li>Gotchas and Tips<li>Further Reading</ol><br><h2 id=web-version>Web version<a aria-label="Anchor link for: web-version" class=zola-anchor href=#web-version>π</a></h2><p>You can read the book online here: <a href=https://learnbyexample.github.io/learn_gnuawk/>https://learnbyexample.github.io/learn_gnuawk/</a></p><br><h2 id=github-repo>GitHub repo<a aria-label="Anchor link for: github-repo" class=zola-anchor href=#github-repo>π</a></h2><p>Visit <a href=https://github.com/learnbyexample/learn_gnuawk>https://github.com/learnbyexample/learn_gnuawk</a> for markdown source, example files, exercise solutions, sample chapters and other details related to the book.<blockquote><p><img alt=info src=/images/info.svg> See also <a href=https://learnbyexample.github.io/customizing-pandoc/>my blog post</a> on how to customize <code>pandoc</code> for generating beautiful PDF/EPUB versions from GitHub style markdown.</blockquote><br><h2 id=newsletter>Newsletter<a aria-label="Anchor link for: newsletter" class=zola-anchor href=#newsletter>π</a></h2><p>Subscribe to <a href=https://learnbyexample.gumroad.com/l/learnbyexample-weekly>learnbyexample weekly</a> β free newsletter covering programming resources, updates on what I am creating, tools, free ebooks and more, delivered every Friday.</p><br><h2 id=feedback-and-errata>Feedback and Errata<a aria-label="Anchor link for: feedback-and-errata" class=zola-anchor href=#feedback-and-errata>π</a></h2><p>I would highly appreciate it if you'd <strong>let me know how you felt about this book</strong>. 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.<p>You can reach me via:<ul><li>Issue Manager: <a href=https://github.com/learnbyexample/learn_gnuawk/issues>https://github.com/learnbyexample/learn_gnuawk/issues</a><li>E-mail: <code>echo 'bGVhcm5ieWV4YW1wbGUubmV0QGdtYWlsLmNvbQo=' | base64 --decode</code><li>Twitter: <a href=https://twitter.com/learn_byexample>https://twitter.com/learn_byexample</a></ul><p>Happy learning :)</div><div class=post-footer><div class=post-tags><a href=https://learnbyexample.github.io/tags/gnu-awk/>#gnu-awk</a><a href=https://learnbyexample.github.io/tags/regular-expressions/>#regular-expressions</a><a href=https://learnbyexample.github.io/tags/ebook/>#ebook</a></div><hr color=#e6e6e6><div class=post-nav><p><a class=next href=https://learnbyexample.github.io/awk-idioms-explained/>awk idioms explained β</a><br></div><hr color=#e6e6e6><p>π° Use <a href=https://learnbyexample.github.io/atom.xml>this link</a> for the Atom feed. <br> β
Follow me on <a href=https://twitter.com/learn_byexample>Twitter</a>, <a href=https://github.com/learnbyexample>GitHub</a> and <a href=https://www.youtube.com/c/learnbyexample42>Youtube</a> for interesting tech nuggets. <br> π§ Subscribe to <a href=https://learnbyexample.gumroad.com/l/learnbyexample-weekly>learnbyexample weekly</a> for programming resources, tips, tools, free ebooks and more (free newsletter, delivered every Friday).<hr color=#e6e6e6></div></article></div></main></div><script src=https://learnbyexample.github.io/even.js></script>