
指南阅读
从awk系列开始,我们在命令行或脚本文件中编写了一些简短的awk命令和程序. 但是,awk是一种解释性语言,例如shell. 通过从开始到现在的一系列学习,您现在可以编写可执行的awk脚本.

概述
类似于编写shell脚本awk脚本,awk脚本以以下行开头:
#! /path/to/awk/utility -f
例如,在我的系统上,awk工具安装在/ user / bin / awk目录中,因此我的awk脚本以以下内容开头:

#! /usr/bin/awk -f
上一行的解释如下:
我是这样说的,现在从下面的简单示例开始,让我们深入研究一些可执行的awk脚本. 使用您喜欢的编辑器来创建一个新文件,如下所示:
$ vi script.awk
然后将以下代码粘贴到文件中:
#!/usr/bin/awk -f
BEGIN { printf "%s/n","Writing my first awk executable script!" }
保存文件并退出,然后执行以下命令以使脚本可执行:

$ chmod +x script.awk
然后执行它:
$ ./script.awk
样本输出:
Writing my first awk executable script!
添加笔记


一个严格的程序员肯定会问: “评论呢?”. 是的,您可以在awk脚本中包含注释. 在代码中编写注释是一种好的编程习惯. 它可以帮助其他程序员阅读您的代码awk脚本,并了解程序文件或脚本各部分的功能. 因此,您可以像这样向脚本添加注释:
#!/usr/bin/awk -f
# 这是如何在 awk 中写注释的示例
# 使用特殊模式 BEGIN 来输出一句话
BEGIN { printf "%s/n","Writing my first awk executable script!" }
接下来,我们看一个读取文件的示例. 我们要从帐户文件/ etc / passwd中找到一个名为aaronkilik的用户,然后按如下所示打印用户名,用户ID和用户GID:
以下是我们的脚本文件的内容,文件名为second.awk.
#! /usr/bin/awk -f
# 使用 BEGIN 指定字符来设定 FS 内置变量
BEGIN { FS=":" }
# 搜索用户名 aaronkilik 并输出账号细节
/aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }
保存文件并退出,使脚本可执行,然后像这样执行它:
$ chmod +x second.awk $ ./second.awk /etc/passwd

样本输出:
Username : aaronkilik User ID : 1000 User GID : 1000
在下面的最后一个示例中,我们将使用do while语句来打印数字0-10:
以下是脚本文件的内容,文件名为do.awk.
#! /usr/bin/awk -f
#printing from 0-10 using a do while statement
#do while statement
BEGIN {
#initialize a counter
x=0
do {
print x;
x+=1;
}
while(x<=10)
}
保存文件后,使脚本像以前一样可执行. 然后,运行它:
$ chmod +x do.awk $ ./do.awk
样本输出
0 1 2 3 4 5 6 7 8 9 10
摘要
我们已经结束了这个精彩的awk系列的结尾. 希望您从以前的文章中学到了很多东西,并将其用作awk编程语言的入门指南. 正如开头提到的,awk是一种完整的文本处理语言,因此您可以学习awk编程语言的许多其他方面,例如环境变量,数组,函数(内置或用户定义的)等. Awk编程还有其他内容需要学习和掌握,因此在本文结尾处,我提供了一些重要的资源的链接,您可以使用它们来扩展awk编程技能. 但这不是必需的,您还可以阅读一些有关awk的书.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-287523-1.html
我身边成千上万的企业退休老人都和我一样