使用grep解析另一个命令的输出

时间:2012-02-17 19:07:48

标签: unix grep

在终端中执行命令后:forever list

我得到以下输出:

info:   Forever processes running
data:       uid  command script           forever pid logfile                              uptime        
data:   [0] 0ClV node    enfomo-server.js 376     377 /Users/USERNAME/.forever/0ClV.log 0:0:37:26.987 

我需要使用grep或其他替代方法来仅输出以下字符串作为输出:

/Users/USERNAME/.forever/0ClV.log

什么是正确的命令?

2 个答案:

答案 0 :(得分:3)

您可以使用仅显示匹配部分的-o标志使用grep执行此操作:

forever list | grep -o '\/Users.*log'

答案 1 :(得分:2)

首先,您可能希望仅使用grep隔离所需的行,然后awk将起作用:

grep node file | awk '{print $7}'

或剪切:

grep node file | cut -d\  -f7