• 5463阅读
  • 0回复

【原创】awk学习笔记(1) [复制链接]

上一主题 下一主题
离线晋-dragon
 
只看楼主 倒序阅读 楼主  发表于: 2005-11-07
如果要格式化报文或从一个大的文本文件中抽取数据包,那么a w k可以完成这些任务。它在文本浏览和数据的熟练使用上性能优异。
    主要学习使用a w k执行行操作及怎样从文本文件和字符串中抽取信息,其内容如下:
• 抽取域。
• 匹配正则表达式。
• 比较域。
• 向a w k传递参数。
• 基本的a w k行操作和脚本。
    a w k语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息。a w k抽取信息后,才能进行其他文本操作。完整的a w k脚本通常用来格式化文本文件中的信息。
1、 调用awk
有三种方式调用a w k:
第一种是命令行方式,
awk [-F fild-separator] 'commands' input-file(s);
c o m m a n d s是真正的a w k命令, [ - F域分隔符]是可选的,因为a w k使用空格作为缺省的域分隔符,因此如果要浏览域间有空格的文本,不必指定这个选项,但如果要浏览诸如p a s s w d文件,此文件各域以冒号作为分隔符,则必须指明- F选项。
第二种方法是将所有a w k命令插入一个文件,并使a w k程序可执行,然后用a w k命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。
第三种方式是将所有的a w k命令插入一个单独文件,然后调用
awk -f awk-script-file input-files;
- f选项指明在文件a w k _ s c r i p t _ f i l e中的a w k脚本, i n p u t _ f i l e ( s )是使用a w k进行浏览的文件名。
2、 awk脚本
在命令中调用a w k时,a w k脚本由各种操作和模式组成。
如果设置了- F选项,则a w k每次读一条记录或一行,并使用指定的分隔符分隔指定域,但如果未设置- F选项,a w k假定空格为域分隔符,并保持这个设置直到发现一新行。当新行出现时,a w k命令获悉已读完整条记录,然后在下一个记录启动读命令,这个读进程将持续到文件
尾或文件不再存在。
[ 此贴被XChinux在2005-11-07 09:44重新编辑 ]
我的blog:
http://spaces.msn.com/members/lianyunqing/
快速回复
限100 字节
 
上一个 下一个