![如何从 ethtool 命令 grep '广告链接模式'?](https://linux22.com/image/200837/%E5%A6%82%E4%BD%95%E4%BB%8E%20ethtool%20%E5%91%BD%E4%BB%A4%20grep%20'%E5%B9%BF%E5%91%8A%E9%93%BE%E6%8E%A5%E6%A8%A1%E5%BC%8F'%EF%BC%9F.png)
如何10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full
从此命令中仅获取这些值?
Settings for eth0:
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
我尝试过类似的方法sudo ethtool eth0 | grep 'Advertised link modes:' | cut -d " " -f5-6
,但效果不佳
答案1
又快又脏:
# ethtool enp1s0 | sed -ne '/Supported link modes:/,/:/p' | sed -e 's/.*://' -e 's/^[[:space:]]*//' -e '$d'
10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
第一个 sed 打印“支持的链接模式”行中的所有内容,包括带有冒号的下一行。第二个删除最后一行(它是“支持的暂停帧使用”或其他内容)、第一行上的标签和空格。使用冒号查看下一行使其工作,无论列表分为多少行,也无论下一个字段实际是什么。