awkを使用した3つのファイルの処理
以下のファイルを検討してください。 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