我有两个文件都有IP地址列表,mac和不同列中的说明。一些IP地址在两个文件中。我想通过IP地址加入这些文件,以便输出文件具有: 1)来自两个文件的所有IP地址和 2)在两个文件中列出的任何IP后面都有4个列,每列包含mac和描述。通过IP地址加入文件
文件1:
11.16.31.13 00:a0:c8:b5:c2:d5 keshav-ae1.0
10.16.31.17 f0:ad:4e:01:c5:c8 keshav-ge-2/1/5.0
108.16.31.3 4c:96:14:5d:5f:f0 keshav-ae0.0
108.16.31.4 00:0a:9c:52:74:b2 keshav-ae1.0
27.16.32.1 00:00:5e:00:01:4c keshav-ae0.0
文件2:
192.16.31.10 00:25:90:cd:4e:3c keshav-ae0.0
10.16.31.17 f0:ad:4e:01:c5:c8 keshav-ae0.0
17.16.31.2 b0:a8:6e:28:87:f0 keshav-ae0.0
108.16.31.4 00:0a:9c:52:74:b2 keshav-ae0.0
10.16.31.5 2c:36:f8:ce:65:42 keshav-ae0.0
输出文件应该是:
11.16.31.13 00:a0:c8:b5:c2:d5 keshav-ae1.0
10.16.31.17 f0:ad:4e:01:c5:c8 keshav-ge-2/1/5.0 f0:ad:4e:01:c5:c8 keshav-ae0.0
108.16.31.3 4c:96:14:5d:5f:f0 keshav-ae0.0
108.16.31.4 00:0a:9c:52:74:b2 keshav-ae1.0 00:0a:9c:52:74:b2 keshav-ae0.0
27.16.32.1 00:00:5e:00:01:4c keshav-ae0.0
192.16.31.10 00:25:90:cd:4e:3c keshav-ae0.0
17.16.31.2 b0:a8:6e:28:87:f0 keshav-ae0.0
10.16.31.5 2c:36:f8:ce:65:42 keshav-ae0.0
我曾尝试加入与排序文件(“sort -n”或“sort -n -t。 -k 1,1 -k 2,2 -k 3,3 -k 4,4" ),但它不是给所需的输出
sort -n file1 > file3
sort -n file2 > file4
join -j 1 -a 1 -a 2 -e UNKNOWN file3 file4 > output
和输出文件看起来如下:
10.16.31.17 f0:ad:4e:01:c5:c8 keshav-ge-2/1/5.0 f0:ad:4e:01:c5:c8 keshav-ae0.0
10.16.31.5 2c:36:f8:ce:65:42 keshav-ae0.0
11.16.31.13 00:a0:c8:b5:c2:d5 keshav-ae1.0
17.16.31.2 b0:a8:6e:28:87:f0 keshav-ae0.0
108.16.31.4 00:0a:9c:52:74:b2 keshav-ae0.0
192.16.31.10 00:25:90:cd:4e:3c keshav-ae0.0
27.16.32.1 00:00:5e:00:01:4c keshav-ae0.0
108.16.31.3 4c:96:14:5d:5f:f0 keshav-ae0.0
108.16.31.4 00:0a:9c:52:74:b2 keshav-ae1.0
'AWK '{A [$ 1] =α[$ 1] “ ”$ 2“” $ 3} END {对于(I a)中的{打印IA [I]}}' file1的file2' – anishsane
由于@anishsane 。有用!你能解释一下吗? –