awk help

Jim Trigg jtrigg at huiekin.org
Sat Apr 15 22:00:36 UTC 2017


It's called a pattern, and it restricts the block to only be executed for records that match that pattern.

Jim


On April 15, 2017 4:46:15 PM EDT, Ernie Luzar <luzar722 at gmail.com> wrote:
>
>>> On April 15, 2017 1:36:01 PM EDT, Ernie Luzar <luzar722 at gmail.com>
>wrote:
>>> Hello list;
>>>
>>> Can not figure how to process 2 lines as a single line.
>>> I have this file.
>>>
>>> poollist: opts = 0x2
>>> Name: test Role: ipf 	References: 2	Hits: 0
>>> 	Nodes Starting at 0xc9fd4800
>>> 	Address: 1.11.244.65/32
>>> 		Hits 0	Bytes 0	Name 	Ref 2
>>> 	Address: 1.163.113.139/32
>>> 		Hits 0	Bytes 0	Name 	Ref 2
>>> 	Address: 1.163.139.214/32
>>> 		Hits 0	Bytes 0	Name 	Ref 2
>>> 	Address: 1.173.51.202/32
>>> 		Hits 0	Bytes 0	Name 	Ref 2
>>> 	Address: 1.175.164.129/32
>>> 		Hits 0	Bytes 0	Name 	Ref 2
>>> 	Address: 99.197.14.34/32
>>> 		Hits 0	Bytes 0	Name 	Ref 2
>>>
>>> The Address line and the Hits line makes a pair.
>>>
>>> For any pair that hits is greater than zero
>>> output file with ip address with ; sufix instead of /32 and
>>> hit value in fixed position.
>>>
>>> I can't figure out how to code awk to process the 2 lines as a pair.
>>>
>>> All ready searched the online awk references and could not find an 
>>> example. Any pointers would sure help.
>>>
>>> Thanks
>> Jim Trigg wrote:
>> /^Address/ { address = $2; got_address = 1; }
>> /^ Hits/       { if (got_address) {
>>                           hits = $2;
>>                           if (hits) {
>>                             [Do what's needed with address and hits]
>>                             got_address = 0;
>>                           } else {
>>                              [Handle error condition of hits without 
>address]
>>                           }
>>                       }
>>
>> Jim
>>
>
>In awk talk what is this called
>/^Address/
>/^ Hits/
>
>
>Thanks

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.


More information about the freebsd-questions mailing list