grep 指令,-E 支持正则、-o 打印匹配项
echo "libgcc-4.8.5-4.h5.x86_64.rpm" | grep -Eo "[0-9]+\.[0-9]+.*x86_64"
4.8.5-4.h5.x86_64
sed 指令,-r 使用扩展的正则、\1 获取第一个匹配分组,下面这个命令指([0-9]+\.[0-9]+.*)
echo "libgcc-4.8.5-4.h5.x86_64.rpm" | sed -r "s/libgcc-([0-9]+\.[0-9]+.*)\.rpm/\1/g"
4.8.5-4.h5.x86_64
比如想取 libgcc ,可以如下
echo "libgcc-4.8.5-4.h5.x86_64.rpm" | sed -r "s/(libgcc)-([0-9]+\.[0-9]+.*)\.rpm/\1/g"
libgcc
线上 ps -ef | grep weblogic.Name 会显示如下这段
weblogic 16906 3797 0 Jan11 ? 02:16:42 /opt/jdk1.7.0_271/jre/bin/java -Dweblogic.Name=server1 -Dbea.home=/opt/Oracle/Middleware -Djava.security.policy=/opt/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy
weblogic 13303 13159 0 09:58 pts/1 00:00:00 grep weblogic.Name
去除 grep weblogic.Name 本身,使用 grep -v grep
仅获取 pid 16906 和 -Dweblogic.Name=server1 服务名称
方式一:
sed 's/ -Dbea.home.*//' | sed 's/ -Djava.security.policy.*//' | sed 's/^\w* *//' | sed 's/[[:space:]].*java//'
echo 'weblogic 16906 3797 0 Jan11 ? 02:16:42 /opt/jdk1.7.0_271/jre/bin/java -Dweblogic.Name=server1 -Dbea.home=/opt/Oracle/Middleware -Djava.security.policy=/opt/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy' | sed 's/ -Dbea.home.*//' | sed 's/ -Djava.security.policy.*//' | sed 's/^\w* *//' | sed 's/[[:space:]].*java//'
结果:
16906 -Dweblogic.Name=server1
方式二:
ConstXiong 备案号:苏ICP备16009629号-3