码迷,mamicode.com
首页 > 其他好文 > 详细

awk用法一

时间:2015-12-24 17:56:25      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:linux   脚本   awk   

  gawk程序是Unix中的原始awk程序的GNU版本,它提供了一种编程语言而不只是编辑器命令。在CentOS中awk命令实际上是gawk程序的链接文件名。

技术分享

  基本语法:

    awk [options] ‘program’ flie1 file2 ...

    awk [options] ‘PATTERN{action}’ flie1 file2...

  1、awk的输出

    print item1,item2...

    要点:

     (1)各项目之间使用逗号分隔,而输出时则使用输出分隔符分隔;

     (2)输出的各item可以是字符串数值、当前记录的字段、变量或awk的表达式;数值会被隐式转换为字符串后输出;

     (3)print后面item如果省略,相当于print $0,即输出整个文本行;输出空白,使用print “”; 

    选项:

      -F 分隔符:指定输入分隔符;

    例如:

技术分享

  2、awk的变量

    awk可以使用的变量有内置变量和自定义变量两种。

    2.1 内置变量

     FS:输入时指定字段分隔符,与-F选项作用类似;

技术分享

     RS:输入时指定行的分隔符(换行符);

技术分享

     OFS:输出时指定字段分隔符;

技术分享

     ORS:输出时指定行分隔符;

技术分享

     上例中使用“---”做为行分隔符,每行的结束都被替换为“---”。

     NF:每行中的字段个数;

技术分享

     NR:行数,所有文件一并计数;

技术分享

     上例中虽然有两个文件但其行数是合并计算的。

     FNR:各文件分别记录行数;

技术分享

     ARGV:数组,用于保存命令本身和命令行参数;

技术分享

    数组下标从0开始计算,ARGV[0]保存awk命令本身,ARGV[1]保存表达式后面的条一个参数。

     ARGC:保存awk命令中参数的个数;

技术分享

     FILENAME:awk所正在处理的当前文件的名称。

技术分享

   2.2 自定义变量

     (1) 可以在脚本中定义变量;

     (2) 可以在命令行中定义变量。

    注:变量名区分大小写

     格式如下所示:

技术分享

技术分享



awk用法一

标签:linux   脚本   awk   

原文地址:http://petmaster.blog.51cto.com/5408825/1727953

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!