как извлечь слово из ps -aux - PullRequest
0 голосов
/ 29 марта 2019

когда я выполняю команду ps -ef |grep yypasswd Я получаю этот вывод.

testacc 25124194 2512312620   0 08:00:53  pts/0  0:00 grep yypasswd

как извлечь из команды из этого выходного слова "yypasswd"

Ответы [ 4 ]

0 голосов
/ 29 марта 2019

Поскольку неясно, что вы пытаетесь сделать:

Если вы ожидаете следующий вывод:

yypasswd

, тогда выполните

ps -ef | grep yypasswd | awk '{print $8}'

, если выхотите следующий вывод:

testacc 25124194 2512312620   0 08:00:53  pts/0  0:00

, а затем

ps -ef | grep yypasswd |  awk '{print $1, $2, $3, $4, $5, $6 ,$7}'

надеюсь, что это поможет.

0 голосов
/ 29 марта 2019

использование:

ps -ef | grep yypasswd | awk '{print $8}'

или используя pgrep

pgrep -l yypasswd | awk '{print $2}'
0 голосов
/ 29 марта 2019

Раствор

ps -ef | grep yypasswd | awk '/yypasswd/{print $NF;}'
0 голосов
/ 29 марта 2019
ps -ef | grep -o yypasswd

От man grep:

-o, --only-match Печать только совпадающих (непустых) частей совпадающей строки, каждая из которых находится на отдельном выходеline.

Просто обратите внимание, что строка ps, которую вы публикуете, является фактическим процессом grep, который вы запустили.Чтобы исключить это, вы можете сделать:

ps -ef | grep -v grep | grep -o yypasswd

Другой способ поиска имени процесса - это pgrep:

pgrep -f yypasswd

pgrep даст вам PID соответствующего процесса

...