Home > Archive > AWK > May 2004 > Fill in value from previous line
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Fill in value from previous line
|
|
|
| Hello,
I need to fill in fields with values from a previous line, but *only*
when they are empty.
So, the following lines
41.log: Asn 31A CA ... Hmg 401A N6A ... 4.81
41.log: ... Hmg 401A C6A ... 4.67
41.log: ... Hmg 401A N1A ... 4.19
41.log: ... Hmg 401A C2A ... 4.50
41.log: Asn 31A CB ... Hmg 401A N6A ... 4.28
41.log: ... Hmg 401A C6A ... 4.15
41.log: ... Hmg 401A N1A ... 3.39
41.log: ... Hmg 401A C2A ... 3.85
41.log: ... Hmg 401A N3A ... 4.95
should be converted to
41.log: Asn 31A CA ... Hmg 401A N6A ... 4.81
41.log: Asn 31A CA ... Hmg 401A C6A ... 4.67
41.log: Asn 31A CA ... Hmg 401A N1A ... 4.19
41.log: Asn 31A CA ... Hmg 401A C2A ... 4.50
41.log: Asn 31A CB ... Hmg 401A N6A ... 4.28
41.log: Asn 31A CB ... Hmg 401A C6A ... 4.15
41.log: Asn 31A CB ... Hmg 401A N1A ... 3.39
41.log: Asn 31A CB ... Hmg 401A C2A ... 3.85
41.log: Asn 31A CB ... Hmg 401A N3A ... 4.95
Thanks for any help,
Mike
| |
| Ed Morton 2004-05-12, 7:19 pm |
|
Mike wrote:
> Hello,
>
> I need to fill in fields with values from a previous line, but *only*
> when they are empty.
>
> So, the following lines
>
> 41.log: Asn 31A CA ... Hmg 401A N6A ... 4.81
> 41.log: ... Hmg 401A C6A ... 4.67
<snip>
> should be converted to
>
> 41.log: Asn 31A CA ... Hmg 401A N6A ... 4.81
> 41.log: Asn 31A CA ... Hmg 401A C6A ... 4.67
<snip>
Untested:
awk '$2 == "..." { print $1, p2, p3, p4, $2, $3, $4, $5, $6, $7; next }
{ p2=$2; p3=$3; p4=$4; print }'
Regards,
Ed.
|
|
|
|
|