linux awk快速入门

来源:互联网 发布:怎样做淘宝店铺 编辑:程序博客网 时间:2024/06/04 20:22

aw快速入门

简介

awk 是linux下的一种编程语言,用于处理linux下的文本和数据。其输入可以是标准输入、文件等。支持正则表达式,顺序结构和分支结构等。在linux/unix操作系统下,awk是一个非常强大而快速的文件处理工具,基本上用一行命令便可以完成别的变成语言几十行甚至上百行代码的功能。其处理文件时是一行一行读入,逐行处理,功能强大、快速且不占用太多内存。awk内部还可以实现数组、函数的功能,非常灵活。


语法

awk '{pattern + action}' file

  • pattern 是模式,即在file中匹配的模式,可以是正则表达式,关系表达式等,利用pattern可以对file里面的数据进行匹配和筛选
  • action是动作、操作,即对file中符合pattern的内容进行操作,可以是赋值,输出等等

执行

     有两种执行方式

  • awk -F field-separator 'command' var=value file(s)
  • awk -f awkscriptfile var=value file(s)

其中参数为

-F field-separator,即-F 后面接域分隔符,可以是字符串或正则表达式

command是命令,即上文所说的pattern+action;file是输入文件

-f awkscriptfile是从awk脚本文件中读取awk程序,从而执行

例子

awk 'BEGIN{i=0} {if($1=="chr1"){ print $1,$2,$3;i++}} END{print i}'  file

从file中提取第一列为”chr1“的行,并输出该行的前三列($1,$2,$3),并统计符合条件的行数(print i)




0 0