awk使用实例(转载)
2009-08-25 16:41
简介
awk是一种编程语言,非常适合处理文本,使用简单,功能却很强大。awk扫描文件中的每一行,查找与命令行中所给定内容相匹配的模式。如果发现匹配内容,则进行下一个编程步骤。如果找不到匹配内容,则继续处理下一行 示例基本使用输出文件的第一列
使用自定义的分隔符(默认是空格)
条件判断
正则匹配
显示多个字段
改变输出格式
使用printf格式化输出
使用外部文件当脚本比较复杂时,可以将脚本放到外部文件,通过-f选项指定
外部文件内容:
BEGIN和END块awk 在开始处理输入文件之前会执行 BEGIN 块,因此它是初始化 FS(字段分隔符)变量、打印页眉或初始化其它在程序中以后会引用的全局变量的极佳位置。同时awk在处理了输入文件中的所有行之后会执行END块。通常,END 块用于执行最终计算或打印应该出现在输出流结尾的摘要信息 对某一列求和
内部变量常用的包括
组合使用awk通常都与sort等命令组合使用
参考资料
转载自:http://blog.youkuaiyun.com/chenqj/archive/2008/10/08/3032392.aspx 另外,求平均数用awk 'BEGIN{sum=0} {sum=$9+sum} END {print "average " sum / FNR}' access_log要远远比使用awk先取出所需列,然后使用for循环求和后再取平均值的效率要高得多得多。 |