cheetsheetz/awk.md

2.2 KiB

AWK Cheat Sheet

Table of Contents

  1. AWK Basics
  2. Patterns and Actions
  3. Variables
  4. Operators
  5. Built-in Variables
  6. Control Structures
  7. Functions
  8. Text Processing
  9. Regular Expressions
  10. Arrays
  11. User-Defined Functions
  12. Command Execution

AWK Basics

Print Lines

awk '{print}' filename

Print Specific Column

awk '{print $2}' filename

Filter with Condition

awk '$1 > 10 {print}' filename

Patterns and Actions

Pattern with Action

pattern1 { action1 }
pattern2 { action2 }

Variables

Assigning Variables

variable = value

Accessing Variables

print variable

Operators

Arithmetic Operators

+, -, *, /, %

Relational Operators

==, !=, >, <, >=, <=

Logical Operators

&&, ||

Built-in Variables

NR: Record Number

NR > 1 {print "Line Number: " NR}

NF: Number of Fields

{print "Number of Fields: " NF}

Control Structures

if Statement

if (condition) {
    # Commands
}

if-else Statement

if (condition) {
    # Commands for true condition
} else {
    # Commands for false condition
}

Functions

Built-in Functions

{
    result = sqrt(9)
    print "Square Root: " result
}

Text Processing

Field Separator

# Change Field Separator
awk -F',' '{print $2}' filename

Output Formatting

# Formatting Output
awk '{printf "Name: %-10s Age: %d\n", $1, $2}' filename

Regular Expressions

Match Pattern

awk '/pattern/ {print}' filename

Arrays

Declare an Array

array[1] = "apple"
array[2] = "banana"

Access Array Element

print array[1]

User-Defined Functions

Define a Function

function my_function(parameter) {
    # Commands
}

Call the Function

my_function(value)

Command Execution

Execute Command

awk '{cmd = "echo " $1; system(cmd)}' filename