[CentOS] awk awk

Les Mikesell lesmikesell at gmail.com
Thu Dec 6 20:15:14 UTC 2012


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



More information about the CentOS mailing list