Links & files
Awk reference and ressources |
Example files |
📑 Regular Expressions#
Use regular expressions#
/regexp/
awk '/li/ { print $2 }' mail-list
exp ~ /regexp/
awk '$1 ~ /^J/' inventory-shipped
exp !~ /regexp/
awk '$1 !~ /^J/' inventory-shipped
echo aaaabcd | awk '{ sub(/a+/, "<A>"); print }'
Dynamic regexps#
ls -l | awk 'BEGIN { digits_regexp = "[[:digit:]]+" } $5 ~ digits_regexp { print }'
ls -l | awk 'BEGIN { digits_regexp = "[[:alpha:]]+" } $4 ~ digits_regexp { print }'
POSIX character classes#
Class |
Description |
|---|---|
[:alnum:] |
Alphanumeric characters |
[:alpha:] |
Alphabetic characters |
[:blank:] |
Space and TAB characters |
[:cntrl:] |
Control characters |
[:digit:] |
Numeric characters |
[:graph:] |
Characters that are both printable and visible [1] |
[:lower:] |
Lowercase alphabetic characters |
[:print:] |
Printable characters [2] |
[:punct:] |
Punctuation characters [3] |
[:space:] |
Space characters [4] |
[:upper:] |
Uppercase alphabetic characters |
[:xdigit:] |
Characters that are hexadecimal digits |
Ignore case#
IGNORECASE = [0,1]
echo -e "ab\ncd" | awk 'BEGIN { IGNORECASE = 1 } /A/ { print }'