Definitely have little to no understanding of awk but… /./ suppresses empty lines (records in awk speak) the gsub looks interesting but your code just tosses syntax errors and yes Les, the >2 /dev/null definitely redirected the awk squawk to where it belonged Craig On Dec 6, 2012, at 1:34 PM, m.roth at 5-cent.us wrote: > 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 > > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos -- Craig White ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ craig.white at ttiltd.com 1.800.869.6908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ www.ttiassessments.com Register Now! TTI Winners' Conference 2013 January 20th - 22nd The Earlier You Register the More FREE Product You Receive Click here for more information!