获取所有进程id进程名在linux
我用下面的选项获取所有进程id进程名在linux
1.copied的数据,我需要从出文本放
ps ax -o rss,command | sort -nr | head -n 10
2.But这个输出努力包含提取像下面
856232 /usr/java/jdk1.7.0/bin/java -Djava.util.logging.config.file=/data/vmware/server/xxxxx/conf/logging.properties -XX:MaxPermSize=512m -Xmx1024m -Xms1024m -XX:PermSize=256m -Xss256k -
,但我只需要后/data/vmware/server
即xxxxx
的字符串。
我试过sed和awk,但没有得到预期的。
你可以使用grep。
ps ax -o rss,command | sort -nr | head -n 10 | grep -oP 'data/vmware/server/\K[^/]*'
实施例:
$ echo '856232 /usr/java/jdk1.7.0/bin/java -Djava.util.logging.config.file=/data/vmware/server/xxxxx/conf/logging.properties -XX:MaxPermSize=512m -Xmx1024m -Xms1024m -XX:PermSize=256m -Xss256k -' | grep -oP 'data/vmware/server/\K[^/]*'
xxxxx
OR
sed的。
$ echo '856232 /usr/java/jdk1.7.0/bin/java -Djava.util.logging.config.file=/data/vmware/server/xxxxx/conf/logging.properties -XX:MaxPermSize=512m -Xmx1024m -Xms1024m -XX:PermSize=256m -Xss256k -' | sed 's~.*data/vmware/server/\([^/]*\).*~\1~'
xxxxx
转到'grep'版本..'awk'命令不可靠 - 如果java的位置发生变化,'{10}'可能指向不同的部分。 – 2015-03-03 10:22:56
请注意,您可以使用'awk'...' fedorqui 2015-03-03 10:25:09
删除了部分:)谢谢.. – 2015-03-03 10:25:43
你一直在这里问问题一段时间。尝试正确格式化,向回答者提供反馈,并最终在有用时接受答案。 – fedorqui 2015-03-03 10:21:03