Я хочу получить путь (/ tmp / развертывание / развертывание / hostVBox_8080_GSA /) из вывода ps:
username@hostVBox:~$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
Это может работать для вас:
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/
попробуйте это, посмотрите, работает ли оно:
ps ax |grep jboss|awk -F'java.endorsed.dirs=' '{gsub(/lib.*/,"",$2);print $2;exit;}'
попробовать:
Команда:
awk -F"dirs=" ' /java/{ a=$2 split(a,path," -") sub(/[^/]*\/[^/]*$/,"",path[1]) print path[1] }'