awk

作者: reworthYan | 来源:发表于2017-12-31 13:29 被阅读0次

awk

awk是一种处理文本的语言,是一个强大的文本分析工具,awk是以列为划分记数的,$0表示所有列,$1表示第一列,$2表示第二列。

awk常用参数

  • -F指定输入文件分隔符,如-F:
  • -v 赋值一个用户定义变量,如-va=1
  • -f 从脚本文件中读取awk命令

多个分隔符

awk -F '[-|]' '{print $3}' data
上面这个例子是以-和|为分隔符进行分割。

设置变量

设置awk自定义变量,使用参数-v
cat data.txt | awk -v a=9 '{print $1,$1+a}'
如上,设置了变量a的值,在输出的时候添加一个$1+a的值。

逻辑判断

cat data.txt | awk '$1=="reworth" {print}
输出第一列为reworth的所有行。
cat data.txt | awk '$1!="reworth" {print}'
输出第一列不是reworth的所有行。

正则匹配

cat data.txt | awk '$2 ~ /reworth.*/ {print}'
匹配第二列中以reworth开头的所有行。对某列进行匹配时需要在列之后加个~表示进行匹配。
cat data.txt | awk '/reworth.*/ {print}'
匹配以reworth开头的所有行。
匹配取反 !~
cat data.txt | awk '$2 !~ /reworth/ {print}'
匹配第二列不是reworth的所有行。

内置变量

  • FILENAME : 当前输入文件名称
  • NF : 当前输入行的字段编号
  • OFS : 输出字段分隔符
  • NR : 当前输入行编号(是指输入行 1,2,3……等)
  • FS : 输入字段分隔符
  • ORS : 输出记录分隔符
  • RS : 输入记录分隔符

内置函数

substr字符串截取
cat data.txt | awk '{print substr($1,1,4)}'
截取第一列中的第一个到第四个字符。
split 切片
cat data.txt |awk '{split($1,a,",");print a[1],a[2],a[3]}'
以逗号分隔第一列,并输出分隔后的数据。
gsub 替换
cat data.txt | awk ''{gsub("abc","asd",$2);print}
将第二列中的abc替换成asd

统计

grep 'tower_activity_op' /data/s*/log/test.log | awk -F'[=,]' '{a[$2] -= $12; b[$2] -= $14; item_count[$2]++;} END{for(i in a) {serverid=i; cmd="/usr/bin/mysql -u root -h "192.168.0.1" -p1234 -D stat -e "replace into test(date,uid,cash,coins,number,code,serverid) values(\047'$Date'\047,"i","a[i]","b[i]","item_count[i]",\047测试\047,"serverid")""; system(cmd);}}'

相关文章

  • 18-文本处理三剑客之awk

    本章内容 ◆ awk介绍◆ awk基本用法◆ awk变量◆ awk格式化◆ awk操作符◆ awk条件判断◆ aw...

  • 2017 09-04 AWK

    本章主要学习内容awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 awk条件判断 a...

  • 【技术案例】跟老男孩学运维-awk项目案例

    一个awk数组应用案例 [TOC] 0.技术点: awk awk数组 awk判断 awk数组赋值 awk函数spl...

  • awk

    awk:报告生成器,格式化文本输出 内容: awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 a...

  • awk

    Linux System Environment awk功能 awk格式 awk 参数 一、awk截取列 二、显示...

  • 笔记-awk

    1.Awk基础介绍 2.awk语法格式 2.Awk工作原理 3.Awk内部变量 4.Awk格式输出 5.Awk模式...

  • awk用法详解

    awk 用法 awk ' pattern {action} ' 1、awk '/101/' file ...

  • Day64-shell编程_正则表达式_awk

    1.Awk基础介绍 2.Awk工作原理 3.Awk内部变量 4.Awk格式输出 5.Awk模式匹配 5.1符号 ...

  • linux-awk

    linux-awk awk基本结构 awk ‘BEGIN{ print “start”} pattern { co...

  • awk小说

    awk awk脚本的结构基本如下: awk ' BEGIN{ print "start" } patern { c...

网友评论

      本文标题:awk

      本文链接:https://www.haomeiwen.com/subject/nrxwgxtx.html