ps ax | grep bhyve
端末でコマンドを実行するときに正しい文字列をキャッチする必要があるスクリプト(FreeBSDで動作する必要があり、デフォルトでshを使用している)を書くのに誰かが役立つことを願っています。たとえば、
# 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
次のコードは機能します(文字列から最初の2つの記号を削除します)。
ps ax | awk '/bhyve: [vm]/{print substr($6,3)}'