捍卫 awk
在这一系列的文章中,我将使您成为精通 awk 的编程人员。我承认,awk 并没有一个非常好听且又非常 “时髦” 的名字。awk 的 gnu 版本(叫作 gawk)听起来非常怪异。那些不熟悉这种语言的人可能听说过 "awk",而且可能认为它是一组落伍且过时的混乱代码。它甚至会使最博学的 ">unix 权威陷于混乱的边缘(使他不断地发出 "kill -9!" 命令,就象使用咖啡机一样)。
的确,awk 没有一个动听的名字。但它是一种很棒的语言。awk 适合于文本处理和报表生成,它还有许多精心设计的特性,允许进行多种方式的编程。与某些语言不同,awk 的语法较为常见。它借鉴了某些语言的一些精华部分,如 c 语言、python 和 bash(虽然在技术上,awk 比 python 和 bash 早创建)。awk 是一种一旦学会就会成为您战略代码库的重要部分的语言。
第一个 awk
您应该会看到 /ect/passwd 文件中的内容,本文使用该文件来解释 awk 的工作原理。当调用 awk 时,我们指定 /etc/passwd 作为输入文件。awk 在执行期间对 /etc/passwd 文件中的每一行依次执行 print 命令。所有输出都发送到 stdout,可以得到类似 cat 命令的结果。
现在解释代码块 { print }。在 awk 中,花括号用于将代码分块,这与 c 语言类似。我们的代码块中只有一条 print 命令。在 awk 中,当 print 命令单独出现时,将打印当前行的全部内容。
$ awk '{ print $0 }' /etc/passwd
在 awk 中,变量 $0 表示整个当前行,因此 print 和 print $0 的作用完全相同。
$ awk '{ print "" }' /etc/passwd
$ awk '{ print "hiya" }' /etc/passwd
![]()
如果喜欢通用线程: awk 实例,第 1 部分:一种名称很奇特的优秀语言介绍请收藏或告诉您的好朋友.
阅读(125) | 评论(0) | 转发(0) |