2017-06-16 47 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