Considere os seguintes arquivos:
file1:
boo,8,1024
foo,7,2048
file2:
foo,0,24,154
noo,0,10,561
file3:
24,154,7,1024,0
O que eu preciso é ir para o Arquivo1 e verificar se $2==7; se for verdade, tomar $1, $2e $3de File1 ; agora eu tenho que comparar se $1de File1 igual a $1de File2 ; se for verdade, eu tenho que tomar $3e $4de File2 que não existem em File1 , então eu tenho que ir para File3 e verifique se $1a partir File3 é igual a $3de File2 , e $2de File3 é igual a $4de File2 ; se sim, então eu tenho que verificar se $2do arquivo1é igual a $3do arquivo3 , se essa condição for verdadeira, tenho que comparar $3do arquivo1 com $4do arquivo3 , se $3do arquivo1 for mais do que $4do arquivo3 .
Eu tentei o seguinte script:
cat [file1] [file2] [file3] |
awk -F,
'{if(NF==3)
{if($2==7){a[$1]=$1; b[$1]=$2; c[$1]=$3}
}else
{if(NF==4){if(a[$1]==$1){d[$3]=$3; e[$4]=$4}
}else
{if(NF==5){if(d[$1]==$1 && e[$2]==$2){print a[$1], b[$1], c[$1], d[$1]}}
}
}
}'
A saída desejada é:
foo,7,2048,24,154,1024