当我执行命令ps -ef | grep yypasswd 我收到此输出。
testacc 25124194 2512312620 0 08:00:53 pts/0 0:00 grep yypasswd
如何使用命令从此输出单词“ yypasswd”中提取
答案 0 :(得分:0)
ps -ef | grep -o yypasswd
来自man grep:
-o,--only-matching 仅打印匹配行中匹配的(非空)部分,并将每个这样的部分打印在单独的输出行上。
请注意,您发布的ps行是您运行的grep
的实际过程。要排除这种情况,您可以:
ps -ef | grep -v grep | grep -o yypasswd
搜索进程名称的另一种方法是使用pgrep:
pgrep -f yypasswd
pgrep会为您提供匹配进程的PID
答案 1 :(得分:0)
由于不清楚您要做什么:
如果您期望以下输出:
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}'
希望有帮助。
答案 2 :(得分:-1)
使用:
ps -ef | grep yypasswd | awk '{print $8}'
或使用pgrep
pgrep -l yypasswd | awk '{print $2}'
答案 3 :(得分:-2)
解决方案
ps -ef | grep yypasswd | awk '/yypasswd/{print $NF;}'