2016-05-24 35 views
1

我有一个非常简单的awk脚本,应该用一个正则表达式推断一些日志行。我测试它,但如果我这样做:awk正则表达式不工作

​​

我从其他类线即使输出应该是包含MyClassName只有线。

任何人都可以解释我有什么问题吗?

谢谢。

+1

你在哪里重置p为零? – choroba

+0

我刚刚意识到我是一个白痴......现在正在工作......如果你写一个答案,我会接受它。谢谢! – Aurasphere

回答

3

您永远不会将p重置为零。

awk -F ' ' '{p=0} $5 ~ /MyClassName/ {p=1} p {print $5}' myLogFile.log 
+1

p的意义是什么? – 123

+0

我不知道,可能是一个真实案例的简化,你需要检查一个条件并在以后重用它? – choroba

4

你能避免使用p干脆AFAIK设置FS-F),以文字空间是一样的没有设置它为所有:

awk '$5 ~ /MyClassName/ {print $5}' myLogFile.log 

而且因为你只有5列有兴趣你应该可以使用:

awk '{$0=$5} /MyClassName/' myLogFile.log