如何创建一个 sh 脚本,该脚本可以使用 awk 命令给出我想要的确切字符串作为输出

如何创建一个 sh 脚本,该脚本可以使用 awk 命令给出我想要的确切字符串作为输出

我希望有人帮助编写一个脚本(应该在 FreeBSD 上工作,我默认使用 sh ),当我ps ax | grep bhyve从终端执行命令时,该脚本应该抓取精确的字符串。例如 :

# ps ax | grep bhyve

43137  -  Is       0:00.00 bhyve: system.pwd (bhyve)
43138  -  Is       0:00.00 bhyve: system.grp (bhyve)
43132  0  IC       2:06.86 bhyve: vm0:18 (bhyve)
43234  1  D+       0:00.00 grep bhyve (csh)

当我做 :

ps ax | awk '/bhyve: vm/{print $6}'

它给 :

vm0:18
/bhyve:

当我做 :

ps ax | awk '/bhyve: [vm]/{print $6}'

它给 :

vm0:18

但他们都错了。结果应该是:0:18

谢谢。

答案1

此代码可能有效(从字符串中删除前两个符号):

ps ax | awk '/bhyve: [vm]/{print substr($6,3)}'

相关内容