如何将 cat/grep 字符串转换为以分号分隔的多个文件以捕获 mac 地址。例子:
文件夹:
/home/acl
acl 文件:
acl1
acl2
字符串格式信息 acl 文件:
a;mac address;ip address;hostname
示例 acl1 文件:
a;14:cc:20:00:73:02;192.168.1.150;CONTA1
示例 acl2 文件:
a;13:aa:10:10:74:01;192.168.1.140;FINANCE2
尝试
grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' acl1
出局(预期结果)
13:aa:10:10:74:01
有没有什么简单的方法可以将此结果整合到一个变量中?
例子:
acl="grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' acl*"
谢谢
PD:艰难的选择。两种解决方案都是正确的,但我必须选择一个。我谢谢大家
提取mac,使用
awk
and;
作为分隔符在哪里
-F\;
用作;
分隔符,;
需要转义。'{print $2}'
打印第二个字段投入 var 使用
或者
并
"$var"
在命令行中使用。请注意,这取决于您如何将多个 mac 提供给
arpfilter
.除了Archemar响应之外,您还可以使用xargs在多个 acl 文件中的一行中更改您的 arptables: