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 14:21
下一篇 2015-12-24 16:44

相关推荐

  • N25期—第一周作业

    计算机的组成及其功能 计算机主要由硬件和软件两部分组成, 硬件目前由5大部件组成 控制器:类似人类的大脑!控制整个计算机的运作 运算器:对数据进行逻辑运算处理 存储器:存放数据部件 输出设备:比如显示器,打印机 输入设备:比如键盘,鼠标 Linux发行版本 主要三大分之:Debian系,Reb Hat系,Slackware系。 1.Debian GNU / …

    Linux干货 2016-12-01
  • Linux的文本处理工具及grep正则表达式的使用

    文本处理工具及grep正则表达式的使用 本章节学习的内容: 1、各种文本工具来查看、分析、统计文本文件 2、grep正则表达式 3、扩展正则表达式 一、抽取文本的工具: 1、按文件内容:less和cat 2、按文件截取:head和tail 3、按列抽取:cut 4、按关键字抽取:grep 二、文件查看命令:cat, tac,rev 1、命令cat: (1)文…

    Linux干货 2016-08-05
  • N22-冥界之王-第7周作业

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;       在虚拟机里新添加一块磁盘20G,/dev/sdb     &…

    Linux干货 2016-09-26
  • 无网不利

                    网络是主机之间交互的必备条件。联网就是将主机互联来形成网络,使得网络中的主机得以交换信息。       &n…

    2017-08-19
  • wed服务基础·httpd基础配置详解

    一、 Web Service基础: service:计算机后台提供的功能或计算机可以提供的某一种功能 Web Service本质:通过网络调用其它网站的资源 根据来源的不同,分为两种服务: 本地服务:使用同一台机器提供的服务,不需要网络 网络服务:使用另一台机器提供的服务,需要网络   IANA互联网地址授权机构(Internet Assigned…

    2017-06-09
  • N21沉舟13周作业

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;   3)添加s…

    Linux干货 2016-10-24