使用sed获取任何单词和最后一个单词

时间:2014-11-24 14:44:46

标签: java bash sed

我正在使用bash shell,现在需要一些备份搜索。

我有一行java配置输出,其中我得到了两个我需要的信息。这些输出非常长且令人困惑,所以我想用sed清理它。

所以,我试过这个:

sed -n 's/(.[a-z]*[0-9]*[a-z])/*\([^ ]* *\)/\1 \2/'

我需要的文件是Xmx,它是这样构建的:Xmx1024m

我还需要这一行的最后一句话。

示例:

was.status.socket=58963 -Dosgi.install.area.configuration.area=opt/was/example -Xms256m -Xmx1024m -Xcompressedrefs -Djavarofiles/nodeagent/properties/server.policy lastword

我需要什么:

Xmx1024 lastword
你可以帮帮我吗?

谢谢!

KevinD

2 个答案:

答案 0 :(得分:1)

以下内容删除了Xmx之前的所有内容以及之后的所有内容:

sed 's/.*\(Xmx[^ ]*\) .* /\1 /'

答案 1 :(得分:0)

sed -r 's/.*(Xmx[0-9]+)m.* /\1 /'

示例:

sdlcb@ubuntu:~/AMD_C$ echo "was.status.socket=58963 -Dosgi.install.area.configuration.area=opt/was/example -Xms256m -Xmx1024m -Xcompressedrefs -Djavarofiles/nodeagent/properties/server.policy lastword" | sed -r 's/.*(Xmx[0-9]+)m.* /\1 /'
Xmx1024 lastword