2014-11-24 97 views
0

我正在使用bash shell,現在需要一些備份與搜索。使用sed獲取任何單詞和最後一個單詞

我有一行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

+0

什麼是這裏的模式呢?你想要提取什麼?第X場?該字段包含...什麼?指定。 – fedorqui 2014-11-24 14:55:38

回答

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

例子:

[email protected]:~/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 
1

下刪除XMX之前一切,一切後,直到最後一個字:

​​
+1

@fedorqui:非常真實!修正了,謝謝。 – choroba 2014-11-24 15:00:47

相關問題