次の記事を検討してください。
ファイル1:
boo,194,2322
foo,999,7559
ファイル2:
boo,2322
boo,4526
foo,4222
foo,4223
Field1
リンクが必要です。ファイル1Field1
以内にファイル2Field2
そして関連情報を入手してください。ファイル2Field3
、結果がinと等しい場合は結果を除外します。ファイル1。
結果は次のとおりです。
boo,4526
foo,4222,4223
以下のスクリプトを試しましたが、同様の値を除外しません。
awk -F, 'NF==3{arr[$1]=$3}{if(arr[$1]==$1){print $2}}'
答え1
$1
であることを確認arr
し、その場合は値が異なる場合は$2
印刷する必要があります。
awk -F, 'FNR == NR { arr[$1] = $3; next }
{ if ($1 in arr && arr[$1] != $2) print $2 }'
FNR == NR
とを使用することは、next
他のファイルの行と他の最初のファイルの行を処理する伝統的な方法です。はい、1行に並べて配置できますが、APL(またはPerl)を作成しない限り、「1行」は軽蔑的な用語です。