zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    递归与分治4
    递归与分治3
    递归与分治2
    递归与分治1
    枚举与递推3
    枚举与递推2
    求编译器中数的最值(c++)
    移动小球链表实现
    阶乘的精确值
    while((c = getchar()) != EOF)(键盘输入问题)
  • 原文地址:https://www.cnblogs.com/air-of-code/p/4779296.html
Copyright © 2011-2022 走看看