awk用法一

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

1.jpg

  基本语法:

    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.jpg

  2、awk的变量

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

    2.1 内置变量

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

3.jpg

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

4.jpg

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

5.jpg

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

6.jpg

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

     NF:每行中的字段个数;

12.jpg

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

8.jpg

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

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

9.jpg

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

10.jpg

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

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

11.jpg

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

13.jpg

   2.2 自定义变量

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

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

    注:变量名区分大小写

     格式如下所示:

14.jpg

15.jpg

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/4445

(0)
petmasterpetmaster
上一篇 2015-12-21
下一篇 2015-12-24

相关推荐

  • 进程与计划任务

    PID 进程号,用来标记各个进程;CentOS6中起始的第一个进程为init7中为systemd 进程优先级: 系统优先级:数字越小,优先级越高 0-139(4,5中) 各有140个运行队列和过期队列 0-98,99(6中) 实时优先级:99-0:值越大优先级越高 nice值:-20到19,对应系统优先级100-139或99 进程状态: 运行:running…

    2017-05-14
  • Linux基础之用户及组管理

    grep扩展应用,用户管理,组管理,用户及组管理命令

    2018-01-31
  • man命令的用法

    man 命令的用法    在linux运维工作中,经常会有一些命令我们不是很清楚它们的准确用法,这时候我们就需要去查询这些命令的用法,linux中就有很多文档帮助我们去了解这些命令的用法,其中就有一条命令man,下面我就总结一下它的用法。     man 是 manual 的简写,提供命令的帮助文件。   &…

    Linux干货 2017-02-17
  • LAMP+NFS实现双web服务负载均衡

        一、实验拓扑          二、系统环境      1、主机A、主机B、主机C:CentOS 6.5        测试PC:         Windows 7 旗舰…

    Linux干货 2015-07-06
  • 集中练习8-bash脚本及系统启动

    集中练习8-bash脚本及系统启动

    2017-12-06
  • Nginx 负载均衡多个nmmp主机

    设计拓扑图 一、Memcache简介 cache(缓存系统) 高性能分布式缓存服务器,缓存所有的“可流式化”数据:livejournal旗下Danga Interacive公司 程序=指令+数据 指令:程序 数据:IO操作 文件系统: 特征:协议简单  基于libevent的事件处理  内置内存存储方式  memcached 不…

    2016-06-14