2016-03-17 94 views
-1

我想从日志中找到文件的名称。我尝试使用awk命令,但无法成功。使用grep/awk从日志文件中提取文件名

我想:

FILE=`grep "^.java" /home/jimit/TestLogs.log | awk '{print $2}' | awk -F ':' '{print $1}'` 
echo $FILE 

抽样日志:CommentService

Caused by: com.ofss.fc.framework.exception.BusinessException: The memo start date cannot be earlier than the process date. 
    at com.ofss.fc.domain.party.service.core.CommentService.validateMemos(CommentService.java:474) 
    at com.ofss.fc.domain.party.service.core.CommentService.addMemosToParty(CommentService.java:655) 
+0

在您的例子,该文件的预期名字应该看起来像'CommentService.java “对吗? – user454038

+0

您的最开始是'grep“^ .java”',它正在寻找以“.java”开头的行。显然,这不会匹配示例文件中的任何内容。 – miken32

回答

1

试试这个

$ grep -o "[^.(]*\.java" log 

CommentService.java                         
CommentService.java