【问题标题】:Get path between tags using sed or awk使用 sed 或 awk 获取标签之间的路径
【发布时间】:2011-12-26 03:02:42
【问题描述】:

我想从 ps 输出中获取 path (/tmp/deployment/deployment/hostVBox_8080_GSA/):

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 科勒萨

【问题讨论】:

    标签: parsing sed awk


    【解决方案1】:

    试试这个,看看它是否有效:

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

    【讨论】:

      【解决方案2】:

      这可能对你有用:

      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/
      

      【讨论】:

        【解决方案3】:

        尝试:

        命令:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-06-20
          • 1970-01-01
          • 2016-03-13
          • 1970-01-01
          相关资源
          最近更新 更多