2011-11-10 37 views
0

我想路径(/ tmp目录/部署/部署/ hostVBox_8080_GSA /)从PS输出:获取使用标签之间的路径awk或者sed

[email protected]:~$ps ax |grep jboss 
16291 pts/4 Sl  0:34 java -Dprogram.name=run.sh -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.endorsed.dirs=/tmp/deployment/deployment/hostVBox_8080_GSA/lib/endorsed -classpath /tmp/deployment/deployment/hostVBox_8080_GSA/bin/run.jar:/lib/tools.jar org.jboss.Main 

我怎样才能做到这一点?

BR Kolesar

回答

1

这可能会为你工作:

echo "a bunch of stuff ... -classpath /tmp/deployment/deployment/hostVBox_8080_GSA/bin/run.jar:/lib/tools.jar org.jboss.Main' | 
sed -e 's#.*-classpath \(\([^/]*/\)*\)bin/run.jar.*#\1#' 
/tmp/deployment/deployment/hostVBox_8080_GSA/ 
0

尝试:

命令:

awk -F"dirs=" ' 
    /java/{ 
     a=$2 
     split(a,path," -") 
     sub(/[^/]*\/[^/]*$/,"",path[1]) 
     print path[1] 
    }' 
0

试试这个,看看它是否工作:

ps ax |grep jboss|awk -F'java.endorsed.dirs=' '{gsub(/lib.*/,"",$2);print $2;exit;}'