Gawk
From AdminWiki
Contents |
Problems and Solutions
Get a certain column
echo one two three | awk '{print $2}'
Change the delimiter
echo 'this;is;csv' | awk -F\; '{print $2}'
Delimiter can be more than one character, but the whole string must be escaped:
echo 'this@ SEP @is@ SEP @not@ SEP @csv' | awk -F@\ SEP\ @ '{print $2}'
Get columns from lines matching a pattern
A small example explains it all:
netstat -s | awk '/active connections/ { print "active.value " $1 } /passive connection ope/ { print "passive.value " $1 } /failed connection/ { print "failed.value " $1 } /connection resets/ { print "resets.value " $1 } /connections established/ { print "established.value " $1 }'