awk入门

awk入门与基础

  awk不仅仅是linux操作系统中的一个命令,而且是一种编程语言,可以用来处理数据和生成报告(excel) 处理数据可以是一个或多个文件,可以是来自标准输入也可以通过管道符获取标准输入,awk可以在命令行上直接编辑命令惊醒操作也可以编写成awk程序来进行更为复杂的运用。

   指定awk按照什么字符进行文本切割,将源文件切割成以列一列的,如果不指定一下参数,awk默认按照空格进行文本切割,{}中的print代表输出的意思,$代表去列,$1代表取第一列,$2代表取第二列,以此类推,$0代表取全部

例如:awk ‘{print $1 }’ 文件名

输入分隔符为 的第一列

例如:awk -F “:” ‘{print $1}’ 文件名

awk格式

awk的条件分为两部分

模式:内容的查找范围,过滤文件的内容

动作:将给我们找到的内容切割成以列一列的进行输出

   如果没有动作默认输出全部($0)模式是按行取数据的,动作是按列取数据的

Awk -F[参数] ‘BEGIN{}模式{动作}END{}’ 文件名

BEGIN====>开始模块 用来告诉awk数据该如何读

END  ===>结束模块  用来告诉awk程序如何结束

   NR这个符号其实真正的含义不是行号,而是数据被awk读取一段以后,NR就会记录一次

  由于awk默认以 作为每次读数据的结束标志,因此NR就恰好等于行号了

   假如修改awk默认的读数据的默认换行符,读入换行符可以通过BEGIN模块在awk读取数据之前设定它的读入换行符是谁,默认awk读入换行符和输出换行符都是

   BEGIN{RS=”:”;ORS=”|”} 修改读入换行符

END=BEGIN{RS=”:”;ORS=”|”} 修改读入和输出换行符

{print  xxx} 输出 (打印)

awk四中模式

正则表达式

比较表达式

范围表达式

模式表达式

正则表达式

~正则匹配操作符

~ 取反

//代表要输入正则

awk属组

  假如想用一种变量来表示多组数据通常要优先考虑数组的形式

例如:变量名[数字] =不通知

for (i  in  h)  i==>变量   in==>从哪取值  

For===>循环输出  

Tr 替换命令

格式  tr “+” “:”   +替换成:

原文地址:https://www.cnblogs.com/weizhimin/p/9882593.html