一、什么是awk
awk
是Linux
下的一个命令,他对其他命令的输出,对文件的处理都十分强大,其实他更像一门编程语言,他可以自定义变量,有条件语句,有循环,有数组,有正则,有函数等。他读取输出,或者文件的方式是一行,一行的读,根据你给出的条件进行查找,并在找出来的行中进行操作,感觉他的设计思想,真的很简单,但是结合实际情况,具体操作起来就没有那么简单了。他有三种形势,awk
,gawk
,nawk
,平时所说的awk
其实就是gawk
。
二、awk命令格式和选项
·2.1 语法形式
awk [options] 'script' var=value file(s)
awk [options] -f scriptfile var=value file(s)
·尽管操作可能会很复杂,但语法总是这样,其中 pattern
表示 awk
在数据中查找的内容,而 action
是在找到匹配内容时所执行的一系列命令。花括号({}
)不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 pattern
就是要表示的正则表达式,用斜杠括起来。
·awk
语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk
抽取信息后,才能进行其他文本操作。完整的awk
脚本通常用来格式化文本文件中的信息。
·通常,awk
是以文件的一行为处理单位的。awk
每接收文件的一行,然后执行相应的命令,来处理文本。
·2.2 命令选项
-F fs or --field-separator fs
指定输入文件折分隔符,fs
是一个字符串或者是一个正则表达式,如-F:
。
-v var=value or --asign var=value
赋值一个用户定义变量。
-f scripfile or --file scriptfile
从脚本文件中读取awk命令。
-mf nnn and -mr nnn
对nnn
值设置内在限制,