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/   替换;


linux 命令 awk_第1张图片

附:内置常量

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)跟上面的是一样的


你可能感兴趣的:(linux 命令 awk)