小编jud*_*str的帖子

使用 grep/awk/sed 对 2 个文件进行排序和组合

我正在获取一个 wifi 日志,其中列出了 MAC 地址。我想了解连接到我的路由器的设备的 MAC 供应商/制造商。我有 2 个文件,其中一个 MAC 已经“grep”以显示 MAC 的前 3 个八位字节。另一个文件有一个供应商列表和他们发布的前 3 个八位字节。现在的问题是第一个文件有多个重复项,我仍然可以在第二个文件中匹配,但它不会显示第一个文件中有多少。以下是示例。

文本文件

00:10:f6
00:10:f6
03:48:03
8f:91:34
93:ab:c6
Run Code Online (Sandbox Code Playgroud)

供应商.xml

03:48:03 vendor="apple"
00:10:f6 vendor="micro"
8f:91:34 vendor="dell"
93:ab:c6 vendor="sun"
23:8b:23 vendor="acer"
00:73:ad vendor="asus"
Run Code Online (Sandbox Code Playgroud)

这是我运行以下代码时得到的结果:

cat text.txt vendor.xml |grep -Ff text.txt vendor.xml |sort -u |uniq -c >> final.txt
Run Code Online (Sandbox Code Playgroud)

最终版.txt

  1 00:10:f6 vendor="micro"
  1 03:48:03 vendor="apple"
  1 8f:91:34 vendor="dell"
  1 93:ab:c6 vendor="sun"
Run Code Online (Sandbox Code Playgroud)

结果应该是:

  2 00:10:f6 vendor="micro"
  1 03:48:03 vendor="apple"
  1 8f:91:34 vendor="dell"
  1 93:ab:c6 vendor="sun"
Run Code Online (Sandbox Code Playgroud)

有没有我没有想到的标志或选项?

grep scripting sed awk join

4
推荐指数
1
解决办法
4365
查看次数

标签 统计

awk ×1

grep ×1

join ×1

scripting ×1

sed ×1