2013-04-26 242 views
0

我有一個實用程序腳本,顯示有關已部署的Java應用程序的信息。下面是這個腳本的輸出示例:Unix grep命令

名稱:TestAPP

版本:快照

類型:耳朵,EJB,Web服務,網絡

源路徑:/ G /斌/應用程序/ TESTAPP_LIVE_1.1.9.1.1.ear

狀態:啓用

是否可以使用grep命令來grep版本和源路徑值?現在,我可以使用以下命令執行此操作:

| grep的版

但整個字符串(例如版本:快照)輸出當我只需要一個值(例如快照在進一步腳本中使用命令)

+3

grep的版本| cut -d':'-f 2 – Satya 2013-04-26 12:50:41

+0

謝謝,它的工作原理! – 2013-04-26 12:59:45

+0

張貼的答案,請一樣,如果它的工作原理 – Satya 2013-04-26 13:00:54

回答

2
grep Version | cut -d ':' -f 2 
2

這裏是一個純grep溶液。

正則表達式模式使用-P選項,-o選項僅用於檢索匹配的內容。

grep -Po "(?<=^Version :).*" 

這裏是你會爲源做什麼:

grep -Po "(?<=^Source :).*" 

它使用一個正回顧後。

0

這裏有一個解決方案使用awk如果你有興趣:

grep Version | awk '{print $3}' 

$3指從該行打印第三個詞。

需要注意的是:

  1. 這將顯示一個字只有
  2. 這裏假設你有冒號之間的空隙(因此版本實際上是第三「字」)。如果您不這樣做,請改用$2