首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于从日志文件中提取数据的Shell程序

问用于从日志文件中提取数据的Shell程序
EN

Stack Overflow用户
提问于 2012-12-04 19:24:13
回答 1查看 1.2K关注 0票数 2

我将编写一个shell脚本来浏览由我的应用程序生成的日志文件,我只需要从生成的日志中分离出函数名称和有关调用的最小信息。

日志文件格式为- 0.0003 636488 +440 -> include_once(/var/www/public/const.php) /var/www/public/ajax_shop.php:2

现在,在这样的行外,我想提取- "include_once“是从文件"ajax_shop.php”的"2“行调用的。

在这种情况下,如何在shell脚本中使用正则表达式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-04 19:34:10

使用sed的一种方法:

代码语言:javascript
复制
sed 's/.*-> \([^(]*\).*:\(.*\)/\1 was called at line \2/' logfile
include_once was called at line 2.

(^(*) =>此匹配,直到遇到右括号。^(* =>表示不是'(‘的一系列字符。

使用awk:

代码语言:javascript
复制
$ awk -F"[>(:]" '{print $2 " was called at line " $NF}' logfile
 include_once was called at line 2.

awk使用多个分隔符>、(和:。使用它,只需打印第二个字段和最后一个字段就变得很简单。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13701793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档