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指行号