awk 没有一个动听的名字。但它是一种很棒的语言。awk 适合于文本处理和报表生成,它还有许多精心设计的特性,允许进行需要特殊技巧程序设计。与某些语言不同,awk 的语法较为常见。它借鉴了某些语言的一些精华部分,如 C 语言、python 和 bash(虽然在技术上,awk 比 python 和bash 早创建)。awk 是那种一旦学会了就会成为您战略编码库的主要部分的语言。
1. 第一个awk
$ awk '{print }' /etc/passwd
调用 awk 时,我们指定 /etc/passwd 作为输入文件。执行 awk 时,它依次对 /etc/passwd 中的每一行执行 print 命令。所有输出都发送到 stdout,所得到的结果与与执行cat /etc/passwd完全相同。解释{ print } 代码块。
在 awk 中,花括号用于将几块代码组合到一起,这一点类似于 C 语言。在代码块中只有一条 print 命令。在 awk 中,如果只出现 print 命令,那么将打印当前行的全部内容。
另一个例子:
$ awk '{print $0}' /etc/passwd
在 awk 中, $0 变量表示整个当前行,所以 print 和 print $0 的作用完全一样。