我有一些像[17.440000] eth0:XYZCOMPANY ABC4353 802.11无线控制器
[17.540000] eth1:XYZCOMPANY ABC4353 802.11无线控制器
eth0:XYZCOMPANY ABC4353 802.11无线控制器[17.640000]
我需要在shell脚本中将eth0,eth1,eth2变成一个variables。 正如你可以注意到XYZCOMPANY ABC4353的所有其他行保持不变。但接口名称不断变化。 我需要将这些接口名称变成一个variables。
谢谢!
这将显示任意数字的eth和wlan地址:
var=$(dmesg | grep -Eo '(eth|wlan)[[:digit:]]+')
如果你不需要wlan你可以删除备用。 我不知道如果eth驱动程序使用hex,但是你可以改变“数字”为“xdigit”,如果它和你需要允许超过10个接口。
这个解决scheme也应该工作:
var=$(dmesg | grep "eth[0-9]: [A-Za-z0-9 ]* 802.11 Wireless Controller" | awk '{ print substr($3,0,5) }')
这就是在你的variables中有一些像“eth0:eth1:eth2”的东西
var=`awk /./'{print $3}' lala ` echo $var