【问题标题】:Use AWK to extract just the MAC addresses from a show mac address-table from a cisco switch使用 AWK 仅从 cisco 交换机的 show mac 地址表中提取 MAC 地址
【发布时间】:2015-05-29 14:15:21
【问题描述】:

我需要从 Cisco 交换机上的 show mac address-table 获取输出,只提取 Mac 地址并将它们放入 CSV 文件中。

输出如下所示

vlan     Mac Address     Type    Ports
-----    -----------     -----    -----
All      0011.2233.4455  STATIC   CPU
All      0011.2233.4466  STATIC   CPU
All      0011.2233.4477  STATIC   CPU
All      0011.2233.4488  STATIC   CPU

Mac 以 4 个一组的形式显示,如上所示。我需要获取每个 MAC 地址并将其输出到 csv 文件。

这可行,但它也会抓取不需要的输出。

awk '{print $2}' macTable.log > macTable.csv

【问题讨论】:

    标签: macos csv awk


    【解决方案1】:

    只需添加一个字段只包含数字和点的条件:

    awk '$2~/^[0-9.]+$/{print $2}' macTable.log
    

    【讨论】:

      【解决方案2】:

      你可以测试两种mac地址STATICDYNAMIC

      awk 'tolower($3)~/static|dynamic/ {print $2}' log
      0011.2233.4455
      0011.2233.4466
      0011.2233.4477
      0011.2233.4488
      

      PS 你需要使用tolower,因为交换机可能使用大写,而路由器使用小写。

      【讨论】:

        【解决方案3】:

        你也可以用 grep 来做:

        egrep -o '([0-9]{4}\.){2}[0-9]{4}'
        

        输出:

        0011.2233.4455
        0011.2233.4466
        0011.2233.4477
        0011.2233.4488
        

        【讨论】:

          猜你喜欢
          • 2015-05-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多