[CentOS] awk awk
m.roth at 5-cent.us
m.roth at 5-cent.us
Thu Dec 6 22:01:24 UTC 2012
Craig White wrote:
> On Dec 6, 2012, at 1:59 PM, m.roth at 5-cent.us wrote:
>> Craig White wrote:
>>> On Dec 6, 2012, at 1:34 PM, m.roth at 5-cent.us wrote:
>>>
>>>> You rang?
>>>>
>>>> Craig White wrote:
<snip>
>>> Definitely have little to no understanding of awk but…
>>>
>> Ok, I just d/l an nginx.conf file from
>> <http://wiki.nginx.org/FullExample>
>> and ran the following script on it:
>> {
>> if ( $1 ~ /server_name$/ ) {
>> server = $2;
>> gsub(/;|}/,"",server);
>> print server;
>> }
>> }
>>
>> and my o/p was
>> $ awk -f nginx.awk nginx.conf
>> domain1.com
>> domain2.com
>> big.server.com
> ----
> not that I was looking for someone to write it for me but that works only
I do awk for *fun*.... <g>
> when the nginx.conf looks like
>
> server_name domain1.com domain2.com big.server.com;
>
> which I actually didn't need to use awk to parse as I already handled
> those instances just fine with grep/sed
>
> but I have some conf files which look like
>
> server_name {
> domain1.com
> domain2.com
> big.server.com
> }
> ;
>
> and that forced me into looking at alternative methods - hence awk
>
> but your program gives me the following output…
<snip>
Of course it didn't work. I've never worked with nginx, so I could only
base it on what I found. With a file like that, I'd write
{
if ( found == 1 && NF == 1 ) {
if ( $1 ~ /}/ ) {
found = 0;
}
else {
print $1;
}
}
else {
if ( $1 ~ /server_name$/ && $2 ~ /{/ ) {
found = 1;
}
}
}
mark
More information about the CentOS
mailing list