请大神用linux shell写一条命令实现如下功能,用ip link show时,把网口号和MAC地址在一行里现实出来。

比如用iplinkshow时,输出如下,1:lo:<LOOPBACK,UP,LOWER_UP>mtu16436qdiscnoqueuestateUNKNOWNmodeDE... 比如用ip link show时,输出如下,
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000
link/ether 00:0c:29:90:a6:77 brd ff:ff:ff:ff:ff:ff
现在想用sed,awk等工具实现把网口名字和对应的MAC地址在一行里显示,效果如下,eth0:00:0c:29:90:a6:77 ,请问怎么实现?谢谢了
展开
 我来答
212guan
2013-04-22 · 超过18用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:59.5万
展开全部
用这个就可以了,ifconfig|grep -v ^\ |awk '{print $1,$5}'
注意空格,建议直接复制使用!
追问
用ifconfig的话不难,关键是用ip link show怎么实现,我想写个脚本实现ipconfig和ip link show输出的mac地址的对比
追答
ip link show | awk'{printf $2 " " (NR%2 ? "" : "\n")}'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
seesea2517
2013-04-22 · TA获得超过1480个赞
知道小有建树答主
回答量:512
采纳率:100%
帮助的人:600万
展开全部

一楼的很好,稍加改进一下,以满足楼主要求:

ip link show | awk '{printf $2 " " (NR%2 ? "" : "\n")}'
更多追问追答
追问
你说的我也知道,但是网口名字和MAC地址不在一行,我就想让他们在一行里,请问怎么实现啊!
追答
你不试试怎么知道呢,我这个就是在一行的啊。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ppkingpping
2013-04-21 · TA获得超过894个赞
知道小有建树答主
回答量:705
采纳率:0%
帮助的人:677万
展开全部
echo "eth0: `ip link show | grep ether | awk '{print $2}'`"
追问
。。。。。。你这也太讨巧了,如果还有eth1,eth2....呢?我想要用一条命令实现以下效果
eth1:###########
eth2:###########
eth3:###########
.
.
eth#:###########
O(∩_∩)O~
追答
ip link show  | sed -n "p" | awk '{print $2}'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式