Prendi in considerazione i seguenti file:
file1
:
boo,8,1024
foo,7,2048
file2
:
foo,0,24,154
noo,0,10,561
file3
:
24,154,7,1024,0
Ciò di cui ho bisogno è andare su File1 e verificare se $2==7
; se è vero, prendere $1
, $2
e $3
da File1 ; ora devo confrontare se $1
da File1 uguale a $1
da File2 ; se vero, devo prendere $3
e $4
da File2 che non esiste in File1 , quindi devo andare su File3 e controllare se $1
da File3 è uguale a $3
da File2 e $2
da File3 è uguale a $4
da File2 ; se sì, allora devo controllare se $2
da File1è uguale a $3
da File3 , quindi se questa condizione è vera, devo confrontare $3
da File1 con $4
da File3 , se $3
da File1 è più che $4
da File3 .
Ho provato il seguente 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]}}
}
}
}'
L'output desiderato è:
foo,7,2048,24,154,1024