Linux AWK

From Script | Spoken-Tutorial
Jump to: navigation, search

Linux AWK is a language for processing text files. AWK is typically used as a data extraction and reporting tool. It is a standard feature of most Unix-like operating systems. It consists of a set of actions to be taken against streams of textual data for purposes of extracting or transforming text, for eg: producing formatted reports. The language uses the string datatype, associative arrays, and regular expressions.

AWK was created at Bell Labs in the 1970s and its name is an acronym derived from the surnames of its authors—Alfred Aho, Peter Weinberger, and Brian Kernighan.

In this series, we would mainly concentrate on how to use the wide variety of AWK commands of Linux, to handle files, directories, processes etc. These tutorials are created using Ubuntu version 16.04 and above. Please see the associated text box of individual spoken tutorials on the website to decide the versions of Linux OS to which it is applicable.

The Spoken Tutorial Effort for Linux is being contributed by Antara De, Praveen S and Nancy Varkey.

  1. Basics of awk
    • Awk Preliminaries
    • Selection criteria
    • Action
    • Formatted printing - printf
    • Fields and -F option
    • Regular expressions
    • NR - number of records
    • Variables
  2. Variables and Operators in Awk
    • User defined variables
    • Variable Initialisation
    • Operators
    • String Concatenation
    • String matching operator
    • Regular expressions
    • Relational Operators
    • BEGIN and END statement
  3. Built-in variables in Awk
    • Record separator rs
    • Output record separator ors
    • Number of records nr
    • Number of fields nf
    • Field separator fs
    • Output field separator ofs
    • Filename
    • Awk script
  4. Conditional statements in awk:
    • What are conditional statements
    • Syntax of conditional statements
    • Defining the rules or conditions to be checked and corresponding actions to be taken
    • Execution of if
    • Execution of else
    • Execution of else if
    • Changing the rules and re-executing the code
  5. Loops in awk:
    • Conditional loops in awk
      • for loop
      • while loop
      • do-while loop
      • Search pattern using awk
    • Process data in single and multiple files using
      • next
      • nextfile
  6. Basics of Single Dimensional Array in awk
    • What are Arrays in awk
    • How it is different from arrays in other programming languages
    • Refer the elements of an array
    • Syntax of assigning an array element
    • The index in awk arrays
    • Advantage of associative array
    • Check whether any element exists in an array at a certain index
    • Wrong and right ways to check the presence of an element
  7. More on Single Dimensional Array in awk
    • Using awk array with file
    • Example: To calculate the HRA for all students as per a formula
    • Scan the elements of an array
    • New variation of "for loop"
    • Delete statement
      • Delete array element (single record)
      • Delete whole array
    • Show the values of ARGC and ARGV
    • Example: ARGC = number of command line arguments supplied +1
    • ARGV array and ENVIRON array
  8. MultiDimensional Array in awk
    • Definition of multidimensional array in awk
    • Element is identified by a sequence of multiple indices
    • Concatenated into a single string, with a separator between them
    • Create 2 by 2 multidimensional array in awk
    • Create the transpose of a 2 by 2 matrix
    • Scan the multidimensional array
    • Combine the for loop with the split function
    • Syntax of the for loop
    • Syntax of the split function
  9. Built-in Functions in awk
    • awk Built-in functions:
    • Arithmetic functions
      • sqrt(x) function
      • int(x) function
      • exp(x) function
      • log(x) natural logarithm function
      • sin(x) and cos(x) functions
    • Random functions.
      • rand()
      • srand()
    • String functions
      • length() function
      • index() function
      • substr() function
    • Input/Output functions and
      • system() function
    • Timestamp functions
      • system("date")
  10. User Defined Functions in awk
    • Syntax of user defined function
    • Syntax of function call
      • Example to print stipend
      • Explanation of if-else code
      • Explanation of how to call the function
    • Syntax of return statement
      • Example to calculate average of an array
      • Explanation of local variables
      • Explanation of return value of the function call
    • Explanation of reverse function

Contributors and Content Editors