linux_wiki:awk

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
linux_wiki:awk [2016/03/16 13:51]
billdozor [Print Line Before Match]
linux_wiki:awk [2016/05/30 17:09]
billdozor [Print Line After Match]
Line 6: Line 6:
 Gawk is the GNU Project's implementation of the AWK programming language. Gawk is the GNU Project's implementation of the AWK programming language.
  
-I typically stick to using gawk and in most cases, awk is a symlink to gawk+In most cases, awk is a symlink to gawk.
-This page will contain useful gawk commands as I run into them.+
  
 **Checklist** **Checklist**
-  * DistrosAll +  * Distro(s)Any 
-  * gawk installed+  * Software: awk/gawk installed 
 + 
 +---- 
 + 
 +====== General Awk Variables ====== 
 + 
 +  * -F":" => Set the field seperator to colon (:), instead of spaces (default). 
 +    * This can be set to any character 
 +  * $0 => The entire line (excluding new line at the end) 
 +  * $1 - $number => The fields 
 +  * NF => Number of fields on the current line 
 +  * NR => Current line number
  
 ---- ----
Line 38: Line 48:
 true true
 </code> </code>
 +
 +----
 +
 +===== Print Line After Match =====
 +
 +Search for a regex string and print the line AFTER the match.
 +
 +<code bash>
 +awk '/mystring/ { getline; print }'
 +</code>
 +  * mystring = regex string to search for
 +  * getline = set the line $0 to the next line
 +  * print = print the line
  
 ---- ----
Line 72: Line 95:
   * If the current line matches the regular expression "False" ("/False/"), then   * If the current line matches the regular expression "False" ("/False/"), then
     * Print the value of x ("{ print x }").     * Print the value of x ("{ print x }").
-  * Next, store the current line in the variable "x" ("{ x=$0 }")+  * Next, store the current line in the variable "x" ("{ x=$0 }")  (Always do this; Does not matter if it matches)
     * This has the effect of making the previous line available when evaluating the next line.     * This has the effect of making the previous line available when evaluating the next line.
 +      * Note: This will not work if the very first line matches the pattern, as x will not contain any lines yet.
  
 ---- ----
  
  • linux_wiki/awk.txt
  • Last modified: 2019/05/25 23:50
  • (external edit)