On Thu, Dec 6, 2012 at 2:07 PM, Craig White <craig.white at ttiltd.com> 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 '}' > > and the list of virtual host names is perfect except that I get this line first... > > awk: (FILENAME=/opt/nginx/sites/ids.conf FNR=55) fatal: Unmatched ( or \(: /($host/ > > and I can't seem to dismiss it and I definitely don't want it in my data scrape. > > Anyone know how to prevent this? (yes, there are lines in the file that say 'if ($host = something) {' I'd start with perl instead of awk and come up with something that didn't need the greps to clean it up. But, if all you want is to discard stderr, won't sticking a 2>/dev/null before your first pipe take care of that courtesy of shell redirection? -- Les Mikesell lesmikesell at gmail.com