How to pass extra stuff without awk noticing
Archive of posts filed under the awk category.
Replace every Nth occurrence
Problem statement: replace every Nth occurrence of a pattern. For bonus points, provide context to the match. For this article, we're going to use this example (mostly nonsensical, but that illustrates the concept): 1foo1 bar foo 2foo3 abc def foo foo foo 1foo4 foo foo 3foo9 4foo7 zzz 7foo7 3foo3 And we want, among all […]
Text replacement in context/out of context
An added twist to the usual search/replace problems.
Look for multiple patterns in files
One of the most FAQ of all times.
Remove duplicates, but keeping only the last occurrence
Again on IRC, somebody asked how to remove duplicates from a file, but keeping only the last occurrence of each item. The classic awk idiom awk '!a[$0]++' prints only the first instance of every line. So if the input is, for example foo bar baz foo xxx yyy bar the "normal" output (ie using the […]