From: John Pritchard-williams Date: 2008-08-30T04:31:12+09:00 Subject: Re: Parsing PBX console outputs You would need to indicate where the newlines are on this I think, before anyone could even to even start to help ! (Just a guess from an old AWK programmer...) Again as a guess...Probably something like this (might) get you there: - Loop the whole on file - No need to split all the lines I would say.... - Look for the word PAD , (record its horizontal position?), toggle on a boolean, record the current line number + 2 (to skip the '---' lines) - When boolean is on and current line is set to your marker get the PAD number, (split the line here probably to extract that PAD number) - if boolean on, Look for 'EXTN',record the current line number +2 (again, to skip '---'). -- split the 'EXTN' line itself, extract the number, add it to the current PAD ( Ruby - maybe a Hash of arrays?: Hash Key:PAD, Arrays of extens). And stuff like this. (probably my logic is off here, but that kinda of how I would start off...) good luck with that ! J.R. Gutierrez wrote: > I have a problem. I need to parse the following output into something I > can put in a table or two from an old PBX. Each PAD has 1 or more > extensions assigned to it. Extensions should be unique. Here are two > records: > > > > > D V S > A M P > RLID T O REF TBL BUZZ K D > PAD TYPE A D NO. NO. INTERCM VOICE C R T EXTN 1 R MW BI > --------- --------- - -- ---- -- ------- ------- - - ------- - - - > DS 01/010801 RP400 N RL 0 2 Y N 3441 Y Y Y > > CLLD > NAME > - > DS Y > > V V V V > S M B S M B S M B S > M B > #'S EXTN I R W I EXTN I R W I EXTN I R W I EXTN I > R W I > ------ ------- - - - - ------- - - - - ------- - - - - ------- - > - - - > DS 2..5 2171 N Y N N 4277 N Y N N > > > D V S > A M P > RLID T O REF TBL BUZZ K D > PAD TYPE A D NO. NO. INTERCM VOICE C R T EXTN 1 R MW BI > --------- --------- - -- ---- -- ------- ------- - - ------- - - - > DS 01/010802 RP400 N RL 0 5 Y N 3768 Y Y Y > > CLLD > NAME > - > DS Y > > V V V V > S M B S M B S M B S > M B > #'S EXTN I R W I EXTN I R W I EXTN I R W I EXTN I > R W I > ------ ------- - - - - ------- - - - - ------- - - - - ------- - > - - - > DS 2..5 5018 N Y N N 3726 N Y Y N 2324 N Y N N 2396 N > Y N N > DS 6..9 2397 N Y N N 4912 N Y Y N 6718 N Y N N 5060 N > Y N N > DS 10..11 5062 N Y N N 4219 N Y N N -- Posted via http://www.ruby-forum.com/.