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  美美王子  Views(169)  Comments(0Edit  收藏  举报