Shell-Script

如何創建一個 sh 腳本,該腳本可以使用 awk 命令提供我想要的確切字元串作為輸出

  • August 31, 2022

我想要一些幫助編寫一個腳本(它應該在我預設使用 sh 的 FreeBSD 上工作),當我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

謝謝。

此程式碼可能有效(從字元串中刪除前兩個符號):

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

引用自:https://unix.stackexchange.com/questions/715663