On 1/24/2008 2:25 PM, z.entropic wrote:
> On Jan 24, 2:41 pm, Ed Morton <mor...@[EMAIL PROTECTED]
> wrote:
>
>>On 1/24/2008 1:19 PM, z.entropic wrote:
>><snip>
>>
>>> Here is a fragment of my input file:
>>
>>>============
>>>100 24479.33 14399.09 1/23/2008 19:55 6 1
0 0 3.293 1.287
>>>101 24480.25 14400.01 1/23/2008 19:55 6 1
0 0 3.296 1.288
>>>102 24480.36 0.11 1/23/2008 19:55 7 1 0
-0.00185954 3.167 1.287
>>>=============
>>
>>>Thus, if field $6 in line 100 is equal to 6 AND field $6 in line 101
>>>is equal to 7, store the value 14399.09 in array1[1] and 1.287 in
>>>array2[1]. When the next match is found, store the two values in
>>>array1[2] and array2[2], etc. Basically, I'm comparing the same
>>>fields in consecutive rows.
>>
>>Try this:
>>
>>awk '($6==7)&&(p6==6){array1[++n]=p3;array2[n]=p11}
{p=$6;p3=$3;p11=$11}' file
>>
>>You should use an array for the "p" (previous) field values if you to
need to
>>access more of them.
>>
>> Ed.
>
>
> I think my example is a bit confusing due to poor formatting (copying
> from Excel with the wrong date format didn't help...) In essence, I
> can't get the script working even after some changes etc., so let me
> explain again as best as I can. Here is an interesting section frm
> one of my data files, this time with proper formatting that awk would
> see (tab-separated fields):
>
> 100 24479.32 14399.08 1/23/2008 7:55:39 PM 6 1 0 0 3.293399
> 101 24480.25 14400.01 1/23/2008 7:55:40 PM 6 1 0 0 3.293234
> 102 24480.36 0.10 1/23/2008 7:55:41 PM 7 1 0 -0.00185954 3.166826
> 103 24480.46 0.21 1/23/2008 7:55:41 PM 7 1 0 -0.00185932 3.034836
>
> Simply put, I want to find pairs of lines in which the counter in
> field $7 changes, here from 6 to 7, and then store in array array1[1]
> the value found in field $11 (3.293234, line 101). The next pair of
> found lines would change the array counter to 2 (array[2]).
So now we're back to one array? ok, look:
$ awk '($7==7)&&(p7==6){array[++n]=p11} {p7=$7;p11=$11} END{for (i in
array)
print i, array[i]}' file
1 3.293234
> Once I figure out with your help how to do that, I'll try to expand
> this script to store more values, including some from line 102 in the
> example above.
>
If the above still isn't what you're looking for either, maybe posting a
little
more sample input and some expected output would help.
Ed.


|