BooBz wrote:
> I have a file :
> fghfgh 45 45 100
> hjuhju 90 45 90
> and i want to test the field to rewrite or not another field :
> if field2 = 45  and field3 = 45 then field4 = field4 - 10
> if field2 = 45  and field3 = 90 then field4 = field4 - 5
> if field2 = 90  and field3 = 45 then field4 = field4 - 5
> 
> I don't know if it's possible in bash ? Maybe some language are useful for
> the things i want to do ...

Some languages are better suited to this type of manipulation than
others.  But you are asking in bug-bash and so you must be expecting a
bash scripting answer.  :-)

Try something like this:

  while read field1 field2 field3 field4; do
    if [[ $field2 = 45 && $field3 = 45 ]]; then field4=$(($field4 - 10)); fi
    if [[ $field2 = 45 && $field3 = 90 ]]; then field4=$(($field4 - 5)); fi
    if [[ $field2 = 90 && $field3 = 45 ]]; then field4=$(($field4 - 5)); fi
    echo $field1 $field2 $field3 $field4
  done

There are endless variations but this matched your description fairly
closely.

Bob


Reply via email to