首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在bash中打印无线(wifi)适配器驱动程序名称?

如何在bash中打印无线(wifi)适配器驱动程序名称?
EN

Stack Overflow用户
提问于 2014-06-20 01:42:40
回答 2查看 304关注 0票数 0

我在这里没有找到这个问题,所以我想出了我自己的解决方案:

代码语言:javascript
复制
lshw -c network | grep wireless | grep driver | gawk -F' ' '{ while(++i<=NF){ if($i ~ /driver\=/){ sub("driver=","",$i); print $i; } } }';

我需要这个来重启wifi模块,而不知道它的名字,比如:

代码语言:javascript
复制
WIFI_DRIVER=$(lshw -c network | grep wireless | grep driver | gawk -F' ' '{ while(++i<=NF){ if($i ~ /driver\=/){ sub("driver=","",$i); print $i; } } }');

sudo modprobe -r $WIFI_DRIVER && sudo modprobe $WIFI_DRIVER

有没有更好、更可靠的解决方案?

EN

回答 2

Stack Overflow用户

发布于 2014-06-20 02:02:27

您可以通过删除grep并将以下两个规则添加到awk脚本的开头来提高效率:

代码语言:javascript
复制
!/wireless/ { next }
!/driver/   { next }

而且,您不需要指定一个空格作为字段分隔符,因为这是默认的。

票数 1
EN

Stack Overflow用户

发布于 2014-06-21 19:27:00

我能想到的最简单的方法是perl -lne '/wireless/ && /driver=(.*?)\s/ && print $1'

例如:

代码语言:javascript
复制
sudo lshw -c network  | perl -lne '/wireless/ && /driver=(.*?)\s/ && print $1'
iwlwifi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24313068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档