• AWK变量


     NR表示从awk开始执行后,按照记录分隔符读取的数据次数,默认的记录分隔符为换行符,因此默认的就是读取的数据行数,NR可以理解为Number of Record的缩写。

      在awk处理多个输入文件的时候,在处理完第一个文件后,NR并不会从1开始,而是继续累加,因此就出现了FNR,每当处理一个新文件的时候,FNR就从1开始计数,FNR可以理解为File Number of Record。

      NF表示目前的记录被分割的字段的数目,NF可以理解为Number of Field。

    属性 说明
    $0 当前记录(作为单个变量)
    $1~$n 当前记录的第n个字段,字段间由FS分隔
    示例 awk的文件处理方式——记录和字段
    FS 输入字段分隔符。缺省值是空格。FS特殊变量可以有两种附加的值:
    • 如果 FS 设置为单个字符,那么字段由该字符的每个单个具体值隔开。
    • 如果 FS 设置为一个扩展正则表达式,那么字段由与扩展正则表达式匹配的每个序列的具体值隔开。
    NF 当前记录中的字段个数,最大数 99 个
    NR 当前输入记录的个数,从1开始,BEGIN模式中值为0,END模式中值为最后处理的记录的编号
    RS 输入记录分隔符(缺省值是换行字符)
    OFS 输出字段分隔符(缺省值是空格)
    ORS 输出记录分隔符(缺省值是换行字符)
    ARGC 命令行参数个数
    ARGV 命令行参数数组
    FILENAME 当前输入文件的名字
    IGNORECASE 如果为真,则进行忽略大小写的匹配
    ARGIND 当前被处理文件的ARGV标志符
    CONVFMT 在输出语句中将数字转换为字符串的 printf 格式。缺省值为“%.6g”
    ENVIRON UNIX环境变量
    ERRNO UNIX系统错误消息
    FIELDWIDTHS 输入字段宽度的空白分隔字符串
    FNR 当前记录数
    OFMT 数字的输出格式 %.6g
    RSTART 被匹配函数匹配的字符串首
    RLENGTH 被匹配函数匹配的字符串长度
    SUBSEP 34
  • 相关阅读:
    Percona Toolkit安装、使用
    Mysql 5.6主从搭建
    AngularJs 抓狂系列索引
    AngularJs 抓狂之: $q promise 自动unwarp功能被禁用了
    AngularJs 的 好文章
    AngularJs 抓狂之:Angular的元素是驼峰命名法,但是HTML属性是用-分隔的,两者不一致!
    Ajax请求永远是304的解决方案
    Java 7 Pocket Guide 读书笔记
    MFC中获取App,MainFrame,Doc和View类等指针的方法
    Thrift实践:(一)安装 -- 未完待续
  • 原文地址:https://www.cnblogs.com/air-of-code/p/4779296.html
Copyright © 2020-2023  润新知