2016-03-17 132 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