-<!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>GNU awk idioms explained</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="GNU awk idioms explained" property=og:title><meta content=website property=og:type><meta content="Examples and brief explanations for cryptic awk one-liners." property=og:description><meta content=https://learnbyexample.github.io/awk-idioms-explained/ property=og:url><meta property=og:image><meta property=og:image:width><meta 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/awk-idioms-explained/#awk-command-structure>awk command structure</a><li><a class=toc-link href=https://learnbyexample.github.io/awk-idioms-explained/#regexp-filtering>Regexp filtering</a><li><a class=toc-link href=https://learnbyexample.github.io/awk-idioms-explained/#idiomatic-use-of-1>Idiomatic use of 1</a><li><a class=toc-link href=https://learnbyexample.github.io/awk-idioms-explained/#special-variables>Special variables</a><li><a class=toc-link href=https://learnbyexample.github.io/awk-idioms-explained/#removing-duplicates>Removing duplicates</a><li><a class=toc-link href=https://learnbyexample.github.io/awk-idioms-explained/#rebuild-0>Rebuild $0</a><li><a class=toc-link href=https://learnbyexample.github.io/awk-idioms-explained/#paragraph-mode>Paragraph mode</a><li><a class=toc-link href=https://learnbyexample.github.io/awk-idioms-explained/#two-file-processing>Two file processing</a><li><a class=toc-link href=https://learnbyexample.github.io/awk-idioms-explained/#forcing-string-and-numeric-context>Forcing string and numeric context</a><li><a class=toc-link href=https://learnbyexample.github.io/awk-idioms-explained/#programming-ebooks>Programming ebooks</a></ul></nav></div></div><article class=post><header class=post__header><h1 class=post__title><a href=https://learnbyexample.github.io/awk-idioms-explained/>GNU awk idioms explained</a></h1><div class=post__meta><span class=post__time>2025-02-18</span></div></header><div class=post-content><p>Do you find <code>awk</code> one-liners cryptic? Stuff like <code>!a[$0]++</code>, <code>1</code>, <code>$1=$1</code>, <code>NR==FNR</code> and <code>-v RS=</code>? You'll find examples and brief explanations for such idioms in this post.</p><span id=continue-reading></span><br><h2 id=awk-command-structure>awk command structure<a aria-label="Anchor link for: awk-command-structure" class=zola-anchor href=#awk-command-structure>🔗</a></h2><pre style=background-color:#f5f5f5;color:#1f1f1f;><code><span>awk 'cond1{action1} cond2{action2} ... condN{actionN}'
0 commit comments