从带有正则表达式的文件中拉出行,后跟短语

时间:2012-08-02 18:43:00

标签: regex command-line grep

我正在为一个客户端工作的应用程序保存最后一个cron的日志文件,用于发送提醒电子邮件,并在日志中保存:

***************** 

app ID: 123 / app status: 0 / deposit paid: 0 /  email@domain.com 

date created: 2009-03-14 00:00:00
last updated: 1969-12-31 06:00:00pm
USING for date comparison: 2009-03-14 12:00:00am

EXPIRE THIS APP 

我正在尝试弄清楚如果app ID: 123 / app status: 0 / deposit paid: 0 / email@domain.com后面跟EXPIRE THIS APP,我会抓住该行,因为并非所有人都拥有它。

1 个答案:

答案 0 :(得分:1)

你需要注意你的正则表达式不要太宽松,否则贪婪的匹配会给出错误的匹配。这是一个好的开始:

/(app ID: .+?)\n\ndate created: .+?\nlast updated: .+?\nUSING for date comparison: .+?\n\nEXPIRE THIS APP/