我试图从这样的ps
命令中提取应用程序名称:
ps -af -u sas |grep "java"| grep -v "grep"
并产生以下结果:
sas 24431 1 0 Oct10 ? 00:51:08 /usr/lib/jvm/java-1.7.0-oracle-1.7.0.25.x86_64/jre/bin/java -Denv=DEV -Dapp.name=myApp -Xms512m -Xmx1g -Dlog.dir=/apps/java/logs
我尝试使用,egrep
但似乎无法正常工作:
ps -af -u sas|grep "java"| grep -v "grep"| egrep -o "-Dapp.name"
如何仅获-Dapp.name
取值“ myApp”?
grep -o -- -Dapp.name
grep [j]ava
用来避免命令grep -v "grep"
(经过bash测试)
grep
模式以开头-
,则需要将其放在-e
选项之后。否则,它将被视为选项。但这只会匹配单词-Dapp.name
,而不是其后的部分。