AWK语法入门

AWK

  • AWK 是一种处理文本文件的语言,是一个强大的文本分析工具(过滤内容、取列,打印、删除)

示例语法

  • 日志打印:

    grep "verifyMaterial" info.log | awk -F"|" '{print $10}'|awk -F"," '{print $2}'|awk -F":" '{print $2}'

打印输出:

以上筛选语句为:筛选出含有verifyMaterial的日志,然后在用awk -F 打印以“|”符号分割的第10列,第10中以“,”号分割的第2列,第2列中以“:”号分割的第2列的日志

AWK基本用法

awk '{[pattern] action}' {filenames} # 行匹配语句 awk '' 只能用单引号
$ awk '{print $1,$4}' log.txt # 每行按空格或TAB分割,输出文本中的1、4项

awk -F #-F相当于内置变量FS, 指定分割字符
$ awk -F, '{print $1,$2}' log.txt # 使用","分割

awk -v # 设置变量
$ awk -va=1 '{print $1,$1+a}' log.txt #打印第一列及第二列,第二列值在第一列基础上加a

计算运用

awk '$3 >0 { print $1, $2 * $3 }' emp.data #第三列值大于0的,打印其第一列及第二列乘以第三列的值

AWK -F

awk -F ":" '{print $1}' #显示以冒号为分隔符的第一列
awk -F "/" '{print $NF}' #显示以分号为分隔符的最后一列.NF指最后一列
awk '{if(NR<31 && NR>19) print $1"\n"}' # NR指行号

posted @ 2020-05-21 14:54  美美王子  阅读(1023)  评论(0)    收藏  举报