linux 命令 awk

awk使用

sed -n '/queryAll2/p' 2017-02-20.log | awk -F ',' '{print $2}'| awk -F ' ' '{if (($1 >=13 && $2 =="Mar")) print $0 }' | wc -l

awk   ' BEGIN  {size=0;}  {size=size+$5;}    END    {print " [end]  size is ", size}  '

awk -F  ','   '{  print $2  }'

if 语句: C格式

if(expression) {

statement;}

awk -F  ':'    '  BEGIN   {count=0;} {name[count] = $1;count++;}; END  {for (i = 0; i < NR; i++) print i, name[i]}   '    filename


其他用法:

非精确匹配:

awk  ' $1~/man/{print $0} '  filename 

 输出第1列中的字符串 含有man的   那行记录;

精确匹配:

awk ' $1 == "man"  filename

批量修改:

awk  ' { if($1~/man/)   { $1 ="WOMAN"  print $0 } } '

该例调用了awk内置函数gsub(r,s),匹配正则表达式~/man/   替换;


附:内置常量

ARGC              命令行参数个数

ARGV              命令行参数排列

ENVIRON            支持队列中系统环境变量的使用

FILENAME          awk浏览的文件名

FNR                浏览文件的记录数

FS                设置输入域分隔符,等价于命令行-F选项

NF                浏览记录的域的个数

NR                已读的记录数

OFS                输出域分隔符

ORS                输出记录分隔符

RS                控制记录分隔符

将所有的awk命令插入一个单独文件,然后调用:awk -f    awk-script-file    input-file(s)

其中,-f选项加载awk-script-file中的awk脚本,input-file(s)跟上面的是一样的


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 0x01 What 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分,将每片直接保存在内建的变量中,$1,...
    骊骅阅读 583评论 0 0
  • awk处理过程: 依次对每一行进行处理,然后输出awk命令形式:awk [-F|-f|-v] ‘BEGIN{} /...
    faraway_com阅读 3,533评论 0 1
  • 转载 原文的排版和内容都更加友好,并且详细,我只是在这里贴出了一部分留作自己以后参考和学习,如希望更详细了解AWK...
    XKirk阅读 3,282评论 2 25
  • awk:报告生成器,格式化文本输出 内容: awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 a...
    BossHuang阅读 1,473评论 0 9
  • SELECT cust.name,rcVBles.balance,……other columns FROM cus...
    0_Eric阅读 650评论 0 0