(编辑) 我正在创建一个bash程序,它有许多功能齐全的选项作为用python编写的网络程序。在我的程序中,我使用以下命令,它的特定输出将用作变量。
我正在寻找一个命令或方法来只显示命令的特定终端输出。例如,如果在我的脚本中使用命令:
iwconfig wlan0
然而,我希望从这个命令中看到的是wlan0设置的模式。 (即硕士,管理,监视等)
我在Google和Bash特定网站上查看并搜索过,无法找到解决方案。我可能会忽略一些事情。
答案 0 :(得分:2)
您要查找的grep
选项为-o
,或--only-matching
长格式。它输出仅文本,与您提供的搜索相匹配,没有别的。例如:
iwconfig wlan0 | grep -o 'Mode:[^ ]*'
在我的机器上输出Mode:Managed
。单引号是必要的,以便shell不会尝试解释[
,]
和*
字符(使用双引号,如果您碰巧有一个错误的文件在当前目录中,shell可能会错误地将您的参数扩展为该文件的名称)。单引号内的正则表达式表示“文本Mode:
,后跟任意数量的非空格字符”,这正是您所寻找的。 p>