両方のファイルの内容をマージする際に問題があります。
ファイル1:
873 1.1.1.1
1033 99.99.99.10
1108 78.2.204.174
1257 78.2.8.181
ファイル2:
test1 78.2.8.181 p6
test2 99.99.99.10 p9
test7 1.1.1.1 p10
test8 78.2.204.174 p4
共有列が2番目であり、問題の行に合わせて比較する必要があることを考慮して、以下のように2つのファイルを1つにマージしたいと思います。
873 1.1.1.1 test7 p10
1033 99.99.99.10 test2 p9
1108 78.2.204.174 test8 p4
1257 78.2.8.181 test1 p6
awk
私はこれを成功させずにいくつか試しました。
ベストアンサー1
join
この目的に使用できます。
まず、2番目の列をキーとして使用して両方のファイルを並べ替える必要があります。
$ sort -t' ' -k 2,2 a > as
$ sort -t' ' -k 2,2 b > bs
次に続く:
$ cat as
873 1.1.1.1
1108 78.2.204.174
1257 78.2.8.181
1033 99.99.99.10
$ cat bs
test7 1.1.1.1 p10
test8 78.2.204.174 p4
test1 78.2.8.181 p6
test2 99.99.99.10 p9
それから実際に参加してください。
$ join -t' ' -j2 as bs
1.1.1.1 873 test7 p10
78.2.204.174 1108 test8 p4
78.2.8.181 1257 test1 p6
99.99.99.10 1033 test2 p9