Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Shell和python分析日志文件_Shell_Logging_Awk_Sed - Fatal编程技术网

无法使用Shell和python分析日志文件

无法使用Shell和python分析日志文件,shell,logging,awk,sed,Shell,Logging,Awk,Sed,我正在尝试使用shell或python脚本解析日志文件。我用awk和sed,但运气不好。有人能帮我解决这个问题吗。下面是输入和预期输出 输入: 输出: 客户|错误 1231 1242 1253 126 4通常会展示你的一些作品,或者你迄今为止所做的尝试,但这里粗略地猜测一下你在寻找什么 tmp$ awk -F: '/^customer1:/ {CUST=$2} ; /^Error/ {split($0,a,"=") ; print CUST, a[2]} ' t 或按行细分: tmp$ awk

我正在尝试使用shell或python脚本解析日志文件。我用awk和sed,但运气不好。有人能帮我解决这个问题吗。下面是输入和预期输出

输入: 输出: 客户|错误
1231
1242
1253

126 4

通常会展示你的一些作品,或者你迄今为止所做的尝试,但这里粗略地猜测一下你在寻找什么

tmp$ awk -F: '/^customer1:/ {CUST=$2} ; /^Error/ {split($0,a,"=") ; print CUST, a[2]} ' t
或按行细分:

tmp$ awk -F: '\
> /^customer1:/ {CUST=$2} ; \
> /^Error/ {split($0,a,"=") ; print CUST, a[2]} \
> ' t
123 1
124 2
125 3
126 4
第一行

/^customer1:/ {CUST=$2} ;
做两件事-匹配以customer1开头(^means start)的行,这些行会自动拆分为:因为我们在命令开头说了-F:

/^Error/ {split($0,a,"=") ; print CUST, a[2]} ;
匹配以Error开头的行,将这些行拆分为分隔符“=”上的数组a,然后打印CUST的最后一个值以及错误行上的第二个字段


希望这一切都有意义。值得一读awk教程,比如

不清楚哪些是您的输入数据,以及所需的输出是什么样子的。你能整理一下并发布你失败的awk脚本,解释一下哪部分没有意义吗?嗨,伊恩·麦高文,对不起,我是stackover flow的新手。我刚刚清理了输入和输出。如果不清楚,请告诉我欢迎!你会发现,如果你稍微努力让你的问题更容易理解,人们会更宽容,更愿意帮助你——如果有些问题不起作用,展示你尝试过的,不起作用的,以及你自己尝试过谷歌搜索的。否则,您将得到“这不是代码编写服务”的响应。重新阅读这篇如何提出好问题的文章:。祝你好运任何想法,如何添加标题到输出:客户|错误123 1 124 2 125 3 126 4
/^Error/ {split($0,a,"=") ; print CUST, a[2]} ;