30 分钟包你学会 AWK( 四 )


30 分钟包你学会 AWK

文章插图
上例看起来有些复杂,我们逐行分析一下
  • 首先,第一行 cmd = “tr [a-z] [A-Z]” 是在AWK中要建立双向连接的命令
  • 第二行的 print 命令用于为 tr 命令提供输入,而 |& 用于指出要建立双向连接
  • 第三行用于在上面的语句 close(cmd, “to”), 在执行完成后关闭其 to 进程
  • 第四行 cmd |& getline out 使用getline函数存储输出到变量out中
  • 最后一行使用 close 函数关闭命令
美化输出
到目前为止,我们已经使用过 print 和 printf 函数显示数据到标准输出,但是 printf 函数实际上要比我们之前使用的情况更加强大得多 。该函数是从C语言中借鉴来的,在处理格式化的输出时非常有用 。
30 分钟包你学会 AWK

文章插图
格式化输出标识有 %c , %d , %s 等,基本与C语言一致,这里就不多赘述了 。
执行shell命令
在AWK中执行shell命令有两种方式
  • 使用 system 函数
  • 使用管道
使用system函数
system函数用于执行操作系统命令并且返回命令的退出码到awk 。
30 分钟包你学会 AWK

文章插图
使用管道
如果要执行的命令很多,可以将输出的命令直接用管道传递给 “/bin/sh”执行
30 分钟包你学会 AWK

文章插图
参考
  • AWK Tutorial
  • The GNU Awk User’s Guide
本文将会持续修正和更新,最新内容请参考我的 GITHUB 上的 程序猿成长计划 项目,欢迎 Star 。
来源:伯乐在线- mylxsw

【30 分钟包你学会 AWK】


推荐阅读