Command | Description |
---|---|
$1 | Reference first column |
awk '/pattern/ {action}' file | Execute action for matched pattern 'pattern' on file 'file' |
; | Char to seperate two actions |
Print current record line | |
$0 | Reference current record line |
Command | Description |
---|---|
$2 | Reference second column |
FS | Field separator of input file (efault whitespace) |
NF | Number of fields in current record |
NR | ine number of the current record |
Command | Description |
---|---|
^ | 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 |
Command | Description |
---|---|
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 |
Command | Description |
---|---|
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) |
Command | Description |
---|---|
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 |
Command | Description |
---|---|
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 |
Command | Description |
---|---|
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 |
Command | Description |
---|---|
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. |
Command | Description |
---|---|
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 |