Linux awk命令处理日志文本与全局变量例子

作者:袖梨 2022-11-14

awk使用方法

awk '{pattern + action}' {filenames}

尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 pattern就是要表示的正则表达式,用斜杠括起来。

awk全局变量具体方法为:

代码如下 复制代码

cat access.log |awk 'BEGIN{devName="";}...'

省略号部分为awk处理代码。

例如:

代码如下 复制代码
cat tmp1.log | awk 'BEGIN{start=0;tmp=0}{if ($12 == "Traceback"){split($0,b,"SCRIPT ");print b[2];start=1;tmp=$11;}else {if (start ==1) {if ($11 == tmp) {split($0,b,"SCRIPT ");print b[2];start=1;}else {start=0;print " "}}}}'

相关文章

精彩推荐