Digamos que você tenha esse arquivo chamado, por exemplo, users.txt
e você só quer consertá-lo para que seu aplicativo seja iniciado e permita que você examine e calcule a situação; você pode definir apenas IsBuyer
para 1
e IsBidder
e IsAdmin
para 0
.
Escolha seu sabor entre awk
e perl
:
awk 'NR==1; /person/ && $2+$3+$4>1 {print $1 " 1 0 0"}' users.txt
perl -lape 'if (/person/ && $F[1]+$F[2]+$F[3]>1) {$_="$F[0] 1 0 0"}' users.txt
Uma abordagem um pouco mais sofisticada seria definir apenas IsBuyer
para 1
se fosse encontrado 1
, ou seja, inverter os valores para 0
, mas nunca inverter os valores para 1
. É claro que não faço ideia se isso faria sentido em sua situação, pois depende do tipo de corrupção de dados que ocorreu.