如何从文件中复制正则表达式匹配?需要从日志文件中获取所有MAC地址

时间:2015-02-04 03:58:57

标签: regex linux string grep

我有一个linux dhcpd日志,我只需要获取一个MAC地址列表。 MAC地址格式为00:ab:27:d8:dd:dd

使用linux命令行工具,解析输入MAC地址的INPUT文件并发送到OUTPUT文件。其中OUTPUT文件只是MAC地址的列表,然后可以删除重复的MAC地址。

我怀疑这可能是一个多步骤,复杂的命令。我已经搜索过该网站,但无法找到匹配复制正则表达式搜索结果的匹配项。我得到了一个混合的结果,得到一个reg-expression甚至可以找到文件中的MAC地址,更不用说将所有正确的匹配复制到文件中了。

1 个答案:

答案 0 :(得分:1)

您可以使用以下命令提取唯一的MAC地址:

grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'  /var/log/dhcpd.log | uniq > unique_MAC.txt

说明:

  • 这将从日志中检索MAC地址:
  

grep -o -E'([[:xdigit:]] {1,2}:){5} [[:xdigit:]] {1,2}'

  • uniq命令将删除所有重复的MAC地址:
  

uniq的

参考文献:
grep
uniq