AWK

Useful variables

Variable

Description

FS

Field seperator

RS

Records seperator

NR

nr of records

NF

nr of fields

OFS

output field seperator

ORS

output record seperator

Split lines in file on delimiter after matching it to regexp

cat some_file.txt | awk -F ': ' '/^regexp/ {print $2 " - " $1}'

Match a colum

awk '$1 ~ /^regexp/ {print $2}'

Multiple matches

awk '/regexp1/ {print $1} /regexp2/ {print $2}'

Conditional statements

awk '{if($1 == "muh") && ($3 != "maeh") { print $2 } }'

Counter

cat some_file | awk 'BEGIN { x=1 } { print x; x += 1 }'
  • Or just use the variable NR the line counter (counts all lines not only matching ones)

Sum up a column

cat some_file.txt| awk '{ sum+=$3} END {print sum}'

String replacement

cat some_file.txt | awk 'sub(/regexp/, "replace", $1)'

Defining external variables / Limiting

cat some_file.txt| awk -v LIMIT=30 '{a=$1; sub(/user/, "", a); if(a <= LIMIT){print}}'