ShortcutFoo uses a Spaced Repetition System that adapts to your training.
scf keyboard

Basics I

$1
Reference first column
awk '/pattern/ {action}' file
Execute action for matched pattern 'pattern' on file 'file'
;
Char to separate two actions
print
Print current record line
$0
Reference current record line
scf keyboard

Variables I

$2
Reference second column
FS
Field separator of input file (default whitespace)
NF
Number of fields in current record
NR
Line number of the current record
scf keyboard

Basics II

^
Match beginning of field
`
Match opterator
!`
Do not match operator
-F
Command line option to specify input field delimiter
BEGIN
Denotes block executed once at start
END
Denotes block executed once at end
str1 str2
Concat str1 and str2
scf keyboard

One-Line Exercises I

awk '{print $1}' file
Print first field for each record in file
awk '/regex/' file
Print only lines that match regex in file
awk '!/regex/' file
Print only lines that do not match regex in file
awk '$2 == "foo"' file
Print any line where field 2 is equal to "foo" in file
awk '$2 != "foo"' file
Print lines where field 2 is NOT equal to "foo" in file
awk '$1 ` /regex/' file
Print line if field 1 matches regex in file
awk '$1 !` /regex/' file
Print line if field 1 does NOT match regex in file
scf keyboard

Variables II

FILENAME
Reference current input file
FNR
Reference number of the current record relative to current input file
OFS
Field separator of the outputted data (default whitespace)
ORS
Record separator of the outputted data (default newline)
RS
Record separator of input file (default newline)
scf keyboard

Variables III

CONVFMT
Conversion format used when converting numbers (default %.6g)
SUBSEP
Separates multiple subscripts (default 034)
OFMT
Output format for numbers (default %.6g)
ARGC
Argument count, assignable
ARGV
Argument array, assignable
ENVIRON
Array of environment variables
scf keyboard

Functions I

index(s,t)
Position in string s where string t occurs, 0 if not found
length(s)
Length of string s (or $0 if no arg)
rand
Random number between 0 and 1
substr(s,index,len)
Return len-char substring of s that begins at index (counted from 1)
srand
Set seed for rand and return previous seed
int(x)
Truncate x to integer value
scf keyboard

Functions II

split(s,a,fs)
Split string s into array a split by fs, returning length of a
match(s,r)
Position in string s where regex r occurs, or 0 if not found
sub(r,t,s)
Substitute t for first occurrence of regex r in string s (or $0 if s not given)
gsub(r,t,s)
Substitute t for all occurrences of regex r in string s
scf keyboard

Functions III

system(cmd)
Execute cmd and return exit status
tolower(s)
String s to lowercase
toupper(s)
String s to uppercase
getline
Set $0 to next input record from current input file.
scf keyboard

One-Line Exercises II

awk 'NR!=1{print $1}' file
Print first field for each record in file excluding the first record
awk 'END{print NR}' file
Count lines in file
awk '/foo/{n++}; END {print n+0}' file
Print total number of lines that contain foo
awk '{total=total+NF};END{print total}' file
Print total number of fields in all lines
awk '/regex/{getline;print}' file
Print line immediately after regex, but not line containing regex in file
awk 'length > 32' file
Print lines with more than 32 characters in file
awk 'NR==12' file
Print line number 12 of file
achievement-star