2017-06-16 91 views
0

我寫了一個小腳本會從服務器日誌的egrep沒有得到結果

pattern - 'Unable to resolve location classpath:db/migration|Processing PersistenceUnitInfo' 

代碼egrep兩種模式片斷

#/bin/sh 
ssh [email protected] egrep -e 'Unable to resolve location classpath:db/migration|Processing PersistenceUnitInfo' /usr/local/dd/logs/ddservice.log 

結果的執行

bash: Processing: command not found 
grep: to: No such file or directory 
grep: resolve: No such file or directory 
grep: location: No such file or directory 
grep: classpath:db/migration: No such file or directory 

的事實上有幾個關鍵詞屬於上述模式。我如何修改腳本來獲取模式。

+0

你要到SSH服務器上運行'egrep'命令,或在SSH命令後你的身邊? –

+0

首先我將建立連接到服務器,一旦建立,我打算運行egrep命令 – Arun

+0

在服務器上還是在客戶端? –

回答

1

您必須在搜索到的字符串中使用\進行轉義。

嘗試

ssh [email protected] egrep -e 'Unable\ to\ resolve\ location\classpath\:db/migration|Processing\ PersistenceUnitInfo' /usr/local/dd/logs/ddservice.log 
+0

謝謝,但是我們是否需要冒號冒號(:)。我逃脫了:以及獲得了下面的輸出。 輸出 grep:classpath:無法解析\位置\ classpath \:\ db/migration \ |處理\ PersistenceUnitInfo'/usr/local/dd/logs/ddservice.log ssh tomcat @ xxxx egrep -e' db/migration |處理PersistenceUnitInfo:沒有這樣的文件或目錄 /usr/local/dd/logs/ddservice.log:21:48:24.083 [main] WARN o.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - 無法解析位置類路徑:db/migration – Arun

+0

我可以看到egrep命令獲取結果,但令人困惑的是「沒有這樣的文件或目錄」消息。爲什麼它顯示,請有你的建議 – Arun

+0

@Arun沒有'\'轉義空間,'egrep'會把下面的字符串作爲下一個參數。對於'egrep',它會將該參數視爲要搜索的路徑。 – CWLiu

0

我有幾個假設這裏:

  1. 我看不出之前的egrep管道,並
  2. 可能是 「/」 符號應該進行轉義。這只是第一次看到我的手沒有一臺筆記本電腦。

這裏是可行代碼:

$ ssh [email protected] "egrep -e \"Unable to resolve location classpath:db/migration|Processing PersistenceUnitInfo\" /somepath/test.log" 
Unable to resolve location classpath:db/migration 
Processing PersistenceUnitInfo 

然後:

$ cat 1.log 
Unable to resolve location classpath:db/migration 
Processing PersistenceUnitInfo 
+0

此方法成功運行 ssh username @ somehost「egrep -e \」無法解析位置類路徑:db/migration |處理PersistenceUnitInfo \「/usr/local/dd/logs/dd.log」 21:48:24.083 [main] WARN o.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - 無法解析位置類路徑:db/migration 21:48:24.290 [main] INFO org.hibernate.jpa.internal.util.LogHelper - HHH000204:處理PersistenceUnitInfo [ – Arun

+0

永遠歡迎:) – user54