1.Usage
2.-F 设置字段分隔符:
在一些简单程序中,你可以使用-F选项修改字段分隔字符。例如,显示/etc/passwd文件里用户名称和全名,你可以:
-F选项会自动的设置FS变量。请注意,程序不必直接参照FS变量,也不用必须管理读取的记录并将它们分割为字段:awk会自动完成这些事。
观察发现,每个输出字段是以一个空格来分隔的——即便是输入字段的分隔字符为冒号。awk的输入、输出分隔字符用法是分开的,这点与其他工具程序不同。
3.-v 改变输出字段分隔字符:
在命令行里使用-v 选项,这会设置awk的变量。其值可以是任意的字符串。例如:
4.prinf 打印行
大多数时候,你只是想把选定的字段显示出来,或者重新安排其顺序。简单的打印可以使用print语句做到,只要提供给它需要打印出来的字段列表、变量或者字符串即可:
简单明了的print语句,如果没有任何参数,则等同于print $0,即显示整条记录。
awk的print语句会自动提供最后的换行字符,就像shell层级的echo与printf那样,然而,如果使用printf语句,则用户必须要通过\n转义序列的使用自己提供它。
BEGIN与END这两个特殊的“模式”,它们提供awk程序起始(startup)与清除(cleanup)操作。常见于大型awk程序中,且通常写在个别文件里,而不是在命令行上:
BEGIN与END的语句块是可选用的。如需设置,习惯上(但不必须)它们应分别置于awk程序的开头与结尾处。你可以有数个BEGIN与END语句块,awk会按照它们出现在程序的顺序来执行:所有的BEGIN语句块都应该放在起始处,而所有END语句块也应该放在结尾。以简单程序来看,BEGIN可用来设置变量: