Linux 如何限制脚本中bash命令的终端输出

Linux 如何限制脚本中bash命令的终端输出,linux,bash,Linux,Bash,(编辑) 我正在创建一个bash程序,作为一个用python编写的网络程序,它有许多功能齐全的选项。在我的程序中,我使用下面的命令,它的特定输出将用作变量。 我正在寻找一个命令或方法,只显示命令的特定终端输出。例如,如果在我的脚本中,我使用以下命令: iwconfig wlan0 然而,我希望从这个命令中看到的是wlan0的设置模式。(即主控、管理、监控等) 我已经搜索了谷歌和Bash的所有特定网站,但找不到解决方案。我可能忽略了一些东西。您正在寻找的grep选项是-o,或者——仅匹配

(编辑) 我正在创建一个bash程序,作为一个用python编写的网络程序,它有许多功能齐全的选项。在我的程序中,我使用下面的命令,它的特定输出将用作变量。

我正在寻找一个命令或方法,只显示命令的特定终端输出。例如,如果在我的脚本中,我使用以下命令:

    iwconfig wlan0
然而,我希望从这个命令中看到的是wlan0的设置模式。(即主控、管理、监控等)


我已经搜索了谷歌和Bash的所有特定网站,但找不到解决方案。我可能忽略了一些东西。

您正在寻找的
grep
选项是
-o
,或者
——仅匹配其长格式的
。它只输出与您提供的搜索匹配的文本,而不输出其他内容。例如:

iwconfig wlan0 | grep -o 'Mode:[^ ]*'

输出<代码>模式:在我的机器上管理
。单引号是必需的,这样shell就不会试图解释
[
]
*
字符(如果您的当前目录中恰好有一个文件的名称不正确,则使用双引号,shell可能会错误地将您的参数扩展到该文件的名称)。单引号内的正则表达式表示“文本
模式:
,后跟任意数量的非空格字符”,这正是您所要查找的。

我可以通过管道连接到grep,是的,但我不熟悉grep,因此我不知道从初始命令的完整输出中显示特定数据的语法。正如我所说的,我是linux新手,而且我刚刚开始在bash中自学脚本,因此使用其他命令/工具来完成我所寻求的任务,在这个时候有点超出了我的能力。感谢您的回复。也许
iwconfig wlan0 | grep-Ei'Master | Managed | Monitor | Mode'
可以使用区分大小写的比较(和扩展正则表达式)在输出中查找单词“Master”、“Managed”、“Monitor”或“Mode”。请参阅,了解POSIX对
grep
工作原理的看法;请参阅
man-grep
info-grep
grep--help
,了解系统对
grep
工作方式的看法。谢谢。打印出我想要看到的目标线。然而,如果我的界面设置为监控模式,它会在“mode:monitor”之后打印所有内容。grep是否有选项在发现所需的图案或打印“mode”之后停止打印输出?还是我必须处理整行打印的问题?不管怎样都可以。我一直在研究grepman的信息,我觉得我在读一门外语。我将继续使用不同的grep选项进行测试,看看我能找出什么。再次感谢。因为这个问题是关于Linux的,而不是关于编程的,所以在Linux上更合适。堆栈溢出仅用于编程问题。我很抱歉。我相信bash是一种shell编程语言。@Yokai-在这种情况下,我建议您通过单击它旁边的复选标记来接受答案;这将使它在以后的任何搜索中以不同的颜色显示,这样他们就会知道这个问题的答案解决了问题。完成了,完成了。再次感谢你!我已经更新了这个问题,使其与编程更相关,因此不再脱离主题。