luser9999
asked on
Grep for a specific string
Hi,
I have many tomcat instances are running on Linux server and I would like to grep them based on a string called "catalina.base" here is one example
root 27180 1 0 Feb25 ? 00:02:10 /opt/java/jdk1.5.0_16//bin /java -Djava.util.logging.config .file=/opt /net/crowd -2.0.3/apa che-tomcat /conf/logg ing.proper ties -Xms128m -Xmx256m -XX:MaxPermSize=256m -Dfile.encoding=UTF-8 -Djava.util.logging.manage r=org.apac he.juli.Cl assLoaderL ogManager -Djava.endorsed.dirs=/opt/ net/crowd- 2.0.3/apac he-tomcat/ endorsed -classpath :/opt/net/crowd-2.0.3/apac he-tomcat/ bin/bootst rap.jar -Dcatalina.base=/opt/net/c rowd-2.0.3 /apache-to mcat -Dcatalina.home=/opt/net/c rowd-2.0.3 /apache-to mcat -Djava.io.tmpdir=/opt/net/ crowd-2.0. 3/apache-t omcat/temp org.apache.catalina.startu p.Bootstra p start
So when i " ps -ef | grep java" --> will return all the instances of java and out of which I need only the string value "-Dcatalina.base="
to make it clear my search out put should be,
-Dcatalina.base=/opt/net/c rowd-2.0.3 /apache-to mcat
-Dcatalina.base=/opt/test/ tomcat-2.0 .3/apache- tomcat
-Dcatalina.base=/opt/test1 23/staging /apache-to mcat
-Dcatalina.base=/home/cata lina/catal ina-2.0/ap ache-tomca t
thanks
I have many tomcat instances are running on Linux server and I would like to grep them based on a string called "catalina.base" here is one example
root 27180 1 0 Feb25 ? 00:02:10 /opt/java/jdk1.5.0_16//bin
So when i " ps -ef | grep java" --> will return all the instances of java and out of which I need only the string value "-Dcatalina.base="
to make it clear my search out put should be,
-Dcatalina.base=/opt/net/c
-Dcatalina.base=/opt/test/
-Dcatalina.base=/opt/test1
-Dcatalina.base=/home/cata
thanks
ps -ef | grep java" | sed 's/.*\(-Dcatalina.base=.*\ )/\1/'
ps -ef | awk '{FS="-Dcatalina.base" ; /catalina.base/ ;print FS $2}' | cut -f1 -d" "
ps -ef | grep java" | sed 's/.*\(-Dcatalina.base=.*a pache-tomc at\).*/\1/ '
ps -ef | grep -o "-Dcatalina.base=/opt/net/ crowd-2.0. 3/apache-t omcat"
This should work.
This should work.
Sorry for above comment, It could work on a file only.
ps -ef | grep "java" | sed 's/.*\(-Dcatalina.base=.*a pache-tomc at\).*/\1/ '
Uneven quotes in last post
Uneven quotes in last post
ASKER
Sorry guys, executed and none of these are working except for woolmilkporc: where I get only three matches and reaming are
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
like many... I actually have 22 instances are running.
thanks for helping
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
like many... I actually have 22 instances are running.
thanks for helping
"grep -o is not quite bad:
ps -ef grep -o -e "-Dcatalina\.base.*" | cut -f1 -d" "
ps -ef grep -o -e "-Dcatalina\.base.*" | cut -f1 -d" "
ASKER
sorry, I got all 22 after using woolmilkporc: command but remaining are
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
can we remove these lines?
thanks
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
-Dcatalina.base
can we remove these lines?
thanks
Yes, that's right.
Try this:
ps -ef | grep "catalina.base" | awk '{FS="-Dcatalina.base" ; print FS $2}' | cut -f1 -d" "
Try this:
ps -ef | grep "catalina.base" | awk '{FS="-Dcatalina.base" ; print FS $2}' | cut -f1 -d" "
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
thanks
ps -o -e worked like charm
thanks man
ps -o -e worked like charm
thanks man