awkを使用してファイル1とファイル2の異なる列を一致させる方法は?

awkを使用してファイル1とファイル2の異なる列を一致させる方法は?

次の2つのファイルがあります。

最初のファイルは次のとおりです。

 3184 2014-07-28 04:15 global.Remote-Access 10.111.8.25 81.245.6.25 tcp
 3268

 3035 2014-07-28 04:16 global.Remote-Access 10.111.8.12 81.245.6.25 tcp
 3268

2番目のファイルは次のとおりです。

 1 Jul 28 04:12 2014-07-28 id967254(group3)[attribute1 attribute2]
 Tunneling: User with IP 10.111.8.12 10 connected

 1 Jul 28 04:15 2014-07-28 id920767(group2)[attribute3 attribute4 ....
 attribute n] Tunneling: User with IP 10.111.8.25 connected

 1 Jul 28 04:16 2014-07-28 ID926072(group3)[attribute1 attribute2]
 Tunneling:User with IP 10.111.8.12 connected

ファイル1の送信元IPアドレスがファイル2と同じで、ファイル1の時刻(hh:mm)と日付()yyyy-mm-ddがファイル2と等しい場合、3番目のファイルは次のようになります。

 3184 04:15 2014-07-28 global.Remote-Access id920767(group2)[attribute3
 attribute4 .... attribute n] 10.111.8.25 81.245.6.25 tcp 3268

 3035 04:16 2014-07-28 global.Remote-Access ID926072(group3)[attribute1
 attribute2] 10.111.8.12 81.245.6.25 tcp 3268

これを達成するにはどうすればよいですかawk

ベストアンサー1

この試み:

$ awk 'FNR==NR{a[$2$3$5];next} ($5$4$(NF-1)) in a' file1 file2 
1 Jul 28 04:15 2014-07-28 id920767(group2)[attribute3 attribute4 .... attribute n] Tunneling: User with IP 10.111.8.25 connected
1 Jul 28 04:16 2014-07-28 ID926072(group3)[attribute1 attribute2] Tunneling:User with IP 10.111.8.12 connected

おすすめ記事