需要在unix中提取特定单词

需要在unix中提取特定单词,unix,grep,Unix,Grep,我想从下面的文本文件中提取特定单词,即PassThroughHandlerJob:2299成功,0失败,0挂起 在日志文件中,2299成功计数每天都在变化。失败、等待和成功的计数每天都可能不同 NewFile.txt 2014-07-10 22:28:13,193 INFO [mainScheduler_Worker-28] [com.myvest.sps.scheduler.jobs.AbstractDistributedJob] Checked the status of 2299

我想从下面的文本文件中提取特定单词,即
PassThroughHandlerJob:2299成功,0失败,0挂起

在日志文件中,2299成功计数每天都在变化。失败、等待和成功的计数每天都可能不同

NewFile.txt

2014-07-10 22:28:13,193 INFO [mainScheduler_Worker-28]     [com.myvest.sps.scheduler.jobs.AbstractDistributedJob] Checked the status of 2299 work units for job PassThroughHandlerJob:  2299 succeeded, 0 failed, 0 pending

2014-07-10 22:28:21,859 INFO [mainScheduler_Worker-28]     [com.myvest.sps.scheduler.jobs.success.PassThroughHandlerJob] Job PassThroughHandlerJob.PassThroughHandlerJob finished

对于这个特殊的任务,你应该能够使用grep

$ grep PassThroughHandlerJob: log.txt
PassThroughHandlerJob: 2299 succeeded, 0 failed, 0 pending 2014-07-10 22:28:21,859 INFO
你可以有:

egrep -o 'PassThroughHandlerJob:\s+[0-9]+ succeeded, [0-9]+ failed, [0-9]+ pending' file
或者只是普通的
grep

grep -o 'PassThroughHandlerJob:[[:space:]]\+[0-9]\+ succeeded, [0-9]\+ failed, [0-9]\+ pending' file

grep-o'PassThroughHandlerJob:[[:space:]\+[0-9]\+成功,[0-9]\+失败,[0-9]\+pending'文件命令工作正常非常感谢