0

コマンド sh cute を使用する際に正規表現に問題があります。問題は、g で始まるすべてのプロセスを表示し、コマンドだけを表示したいのですが、わかりません。助けてください。

これを行うには、次のコマンドを使用します。

ps aux | grep g 

しかし、これは文字gを含むすべてのプロセスを示しています。gで始まり 、コマンドを切り取ってこれを取得する必要があります。たとえば、psの出力を取得します

root      1012  0.0  0.0   6128   644 tty4     Ss+  16:10   0:00 /sbin/getty -8 38400 tty4

1000 4571 0.0 0.0 12724 868 pts/4 S+ 19:21 0:00 grep --color=auto g

/sbin/getty はパスとコマンド grep に含まれているため、取得する必要があるのは /sbin/getty だけです。確かに、g で始まるすべてのファイルを取得し、上記のカットとカットをコマンドと属性 PD にします。コマンド grep と cut を使用してすべてを取得する必要があり、pgrep を使用できません。

前もって感謝します

4

4 に答える 4

1

cutこの場合、スペースのグループである正規表現で分割することはできません。特定のバイトから切り取るか、1 文字の区切り文字で切り取ることができます。だからあなたはすることができます

ps aux | cut -b66- | grep g
于 2010-09-22T17:54:09.283 に答える
0

カットする必要はありません:

ps -ao command | grep g
于 2010-09-22T17:39:24.850 に答える
0

多分これ:

ps -eo command | grep -E '^(|\S*/)g'
于 2010-09-22T18:10:08.717 に答える
0

これはどうですか:

ps -o "comm" -A | grep -E "^g"
于 2010-09-22T17:51:19.943 に答える