WEB开发网
开发学院数据库Oracle 详细分析Oracle中Trace文件的脚本 阅读

详细分析Oracle中Trace文件的脚本

 2007-05-12 12:23:34 来源:WEB开发网   
核心提示: 如您所见,awk 打印出 /etc/passwd 文件的第一和第三个字段,详细分析Oracle中Trace文件的脚本(3),它们正好分别是用户名和用户标识字段,现在,以向它提供此脚本文件:$ awk -f myscript.awk myfile.in将脚本放入文本文件还可以让您使用附加 a

如您所见,awk 打印出 /etc/passwd 文件的第一和第三个字段,它们正好分别是用户名和用户标识字段。现在,当脚本运行时,它并不理想 -- 在两个输出字段之间没有空格!如果习惯于使用 bash 或 python 进行编程,那么您会指望 print $1 $3 命令在两个字段之间插入空格。然而,当两个字符串在 awk 程序中彼此相邻时,awk 会连接它们但不在它们之间添加空格。以下命令会在这两个字段中插入空格:

  $ awk -F":" '{ print $1 " " $3 }' /etc/passwd

以这种方式调用 print 时,它将连接 $1、" " 和 $3,创建可读的输出。当然,如果需要的话,我们还可以插入一些文本标签:

  $ awk -F":" '{ print "username: " $1 "    uid:" $3" }' /etc/passwd

这将产生以下输出:

  username: halt uid:7
  username: operator uid:11
  username: root uid:0
  username: shutdown uid:6
  username: sync uid:5
  username: bin uid:1
  ....etc.

外部脚本

将脚本作为命令行自变量传递给 awk 对于小的单行程序来说是非常简单的,而对于多行程序,它就比较复杂。您肯定想要在外部文件中撰写脚本。然后可以向 awk 传递 -f 选项,以向它提供此脚本文件:

  $ awk -f myscript.awk myfile.in

将脚本放入文本文件还可以让您使用附加 awk 功能。例如,这个多行脚本与前面的单行脚本的作用相同,它们都打印出 /etc/passwd 中每一行的第一个字段:

  BEGIN {
  FS=":"
  }
  
  { print $1 }

上一页  1 2 3 4 5  下一页

Tags:详细 分析 Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接