我试图从这样的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,而不是其后的部分。