You rang? Craig White wrote: > a little out of my comfort zone and have practically gotten what I want > but awk seems determined to send a message via std error which is > problematic and annoying. Basically trying to get a list of virtual host > names from nginx config files like this: > > $ awk -F" " '/./ { if ( match ( "^server_name$", $2 ) ) print $1 }' > /opt/nginx/sites/*.conf \ > | grep -v server_name | grep -v ';' | grep -v '}' Why are you doing all that piping and grepping? And the -F" " confuses me...oh, I see. First, whitespace is the default field separator in awk. Then, are you asking if there's a line with a "." in it, or just any non-whitespace? If the latter... mmm, I see, you *really* don't understand awk. awk -f '{if ( $1 ~ /server_name/ ) {\ server = $2;\ gsub(/;|}/,"",server);\ print server; } }' <snip> mark