awk基本语法
awk -Fs '/pattern/ {action}' input-file
(or)
awk -Fs '{action}' intput-file
在上面的命法里:
* -F:是字段分隔符,如果你没有指定,它将使用一个空格作为字段定阶符
* /pattern/和{action} 应该被单引号括起来
* /pattern/:是选项,如果你没有提供它,awk将处理输入文件的所有记录。如果你指定了一个pattern,它将处理输入文件里匹配到给定pattern的这些记录。。
* {action}: 这些是awk编程命令,它可以是一个或多个awk命令。整个动作块(包括所有的awk命令在一起)之间应该使用{和}括起来
* input-file:需要处理的输入文件。
下面是一个非常简单的例子说明awk语法:
$ awk -F: '/mail/ {print $1}' /etc/passwd
mail
在上面这个简单的例子里:
* -F:这指定在输入文件里分隔符是冒号:即字段由冒号隔开。请注意,你也可以用双引号将字段分隔符括起来。 ":" 也是有效的。
* /mail/ 这是pattern. awk将处理只包含关键mail的记录。
* {print}-这是action,action块仅包含一条awk命令,就是打印匹配pattern为mail记录的第一个字段。
* /etc/passwd-这是输入文件
当你不得不处理大量的awk命令时,你可以指定含有 '/pattern/ {action}'的awk脚本文件并调用它,显示如下:
awk -Fs -f myscript.awk input-file
myscript.awk 可以有任何文件扩展名(或没有扩展名)但是,扩展 名为.awk但是更容易维护。你也可以指定字段分隔符在脚本文件里,显示如下:
awk -f myscript.awk input-file