以下のファイルを検討してください。
file1
:
boo,8,1024
foo,7,2048
file2
:
foo,0,24,154
noo,0,10,561
file3
:
24,154,7,1024,0
私が必要なのは、File1に移動して、次のことを確認することです$2==7
。trueの場合、取る$1
、$2
と$3
からファイル1。ここで$1
、File1とFile2が等しいかどうかを比較する必要$1
があります。trueの場合、私が取らなければならない$3
と$4
のFile2の中に存在していないこれはFile1、その後、私が行かなければならないFILE3とかどうかを確認$1
からFILE3することに等しい$3
からFile2の、そして$2
からFILE3に等しい$4
からFile2の。はいの場合$2
、File1からかどうかを確認する必要があります等しい$3
からFILE3、この条件が真であるならば、私は比較する必要が$3
からはFile1と$4
からFILE3場合は、$3
からファイル1以上である$4
から、FILE3。
次のスクリプトを試しました。
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]}}
}
}
}'
望ましい出力は次のとおりです。
foo,7,2048,24,154,1024