首页 > 解决方案 > 我如何解释这个 bash/awk 语法?

问题描述

我正在努力掌握 bash。像下面这样的线是什么意思?

ps -ef | awk '/ora_pmon_/ && !/awk/'

谢谢你。

标签: bashawk

解决方案


这意味着如下。

ps -ef | awk '/ora_pmon_/ && !/awk/'

您首先获得的输出ps -ef将包含所有正在运行的进程的信息。然后通过使用 <pipe> ( |) 我们将此输出发送到awk命令的标准输入。

awk将检查行,基本上是进程名称,其中包含字符串ora_pmon而不是字符串awk。后者是在输出中排除我们不想要的这个命令的进程。

做你想做的事情的正确方法是:

ps -ef | awk '/[o]ra_pmon_/'

推荐阅读