awk

作者: shadow雨轩 | 来源:发表于2018-01-17 13:53 被阅读0次

1.awk 

    awk是一个强大的文本分析工具,它可以通过分析文本来生成一个数据报告。它的原理就是读取每行的输入,然后按照分隔符切分(默认是空格),再进行定制计算。    

awk '{print $1}' /etc/passwd   #打印出passwd文件的所有行的第一列

这是awk的基础语法,在awk中$n代表列数,即$1--第一列,$2---第二列....,但是$0代表整行

    接下来我们按照指定的分隔符打印数据:

awk -F ':' '{print $1}' /etc/passwd  #将每行按照冒号分隔,打印第一列

现在我们来用另外一种awk的写法打印上图的输出

cat /etc/passwd | awk -F ':' '{print $1}'

awk有一些必须掌握的参数:

[plain] view plain copy

ARGC     命令行参数个数  

ARGV     命令行参数排列  

FILENAME AWK浏览文件的文件名  

FNR      浏览文件的记录数  

FS       设置输入域分隔符,跟-F一样  

NF       域的索引,即列号  

NR       awk读取的当前行号  

OFS      输出域分隔符  

ORS      输出记录分隔符  

RS       控制记录分隔符  

现在我们来打印第一列,当前行号,列号的值

cat /etc/passwd | awk '{print "cols:",$1," rowNumber:",NR," colNumber:",NF}'

awk的语法结构为 awk 'BEGIN{statements}  {statements}  END{statements}'  其中在BEGIN中的语句是初始化一些变量或者打印一些初始数据的地方,在中间的{}中是进行一些逻辑运算的地方,在END{}中的语句是在计算完成输出之后需要追加的一些输出

cat /etc/passwd | awk 'BEGIN{count=0} {count=count+1;print "count=",count} END{print "END",NR}'

    再来看看awk的for和while操作:

ls -l | awk 'BEGIN {print user,time,row} {for(i =0; i< FNR;i++) {print $3,$7,NR}}'  #按照总行数循环打印出第三列和第七列,还有行数

ls -l | awk 'BEGIN{print "begin "} {print $0;count=0;while (count < 2) {print $9;count=count+1;} print "count=",count}'

    运用awk计算当前文件夹下文件的总大小

ls -l | awk 'BEGIN{count=0} {count = count + $5;} END{print "total=",count}'

相关文章

  • 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/atvyoxtx.html