Linux的shell编程中,如何将一段字符串进行截取?
比如我有这样一个变量var=`dmesg|grepeth`得到的结果有很多行如下:r81690000:01:00.0:eth0:RTL8168evl/8111evlat0...
比如我有这样一个变量
var=`dmesg | grep eth`
得到的结果有很多行 如下:
r8169 0000:01:00.0: eth0: RTL8168evl/8111evl at 0xf8a6c000, 00:e0:b4:08:4c:cf, XID 0c900800 IRQ 27
r8169 0000:01:00.0: eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
r8169 0000:02:00.0: eth1: RTL8168evl/8111evl at 0xf8a70000, 00:e0:b4:08:4c:d0, XID 0c900800 IRQ 28
r8169 0000:02:00.0: eth1: jumbo features [frames: 9200 bytes, tx checksumming: ko]
r8169 0000:01:00.0: eth0: unable to load firmware patch rtl_nic/rtl8168e-3.fw (-2)
我只想得到00:e0:b4:08:4c:cf并赋值到另一个变量中 如何做 展开
var=`dmesg | grep eth`
得到的结果有很多行 如下:
r8169 0000:01:00.0: eth0: RTL8168evl/8111evl at 0xf8a6c000, 00:e0:b4:08:4c:cf, XID 0c900800 IRQ 27
r8169 0000:01:00.0: eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
r8169 0000:02:00.0: eth1: RTL8168evl/8111evl at 0xf8a70000, 00:e0:b4:08:4c:d0, XID 0c900800 IRQ 28
r8169 0000:02:00.0: eth1: jumbo features [frames: 9200 bytes, tx checksumming: ko]
r8169 0000:01:00.0: eth0: unable to load firmware patch rtl_nic/rtl8168e-3.fw (-2)
我只想得到00:e0:b4:08:4c:cf并赋值到另一个变量中 如何做 展开
展开全部
是说得到包含00:e0:b4:08:4c:cf的行吗
newvar=`echo $var | grep "00:e0:b4:08:4c:cf"`
如果只想得到00:e0:b4:08:4c:cf,grep加-o参数
newvar=`echo $var | grep -o "00:e0:b4:08:4c:cf"`
newvar=`echo $var | grep "00:e0:b4:08:4c:cf"`
如果只想得到00:e0:b4:08:4c:cf,grep加-o参数
newvar=`echo $var | grep -o "00:e0:b4:08:4c:cf"`
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用grep
还可结果awk
还可结果awk
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询