美文网首页
Python学习:awk常用变量和函数

Python学习:awk常用变量和函数

作者: khaos | 来源:发表于2021-08-03 23:39 被阅读0次

    1.内置变量表

    属性 说明
    $0 当前记录(作为单个变量)
    1~n 当前记录的第n个字段,字段间由FS分隔
    FS 输入字段分隔符 默认是空格
    NF 当前记录中的字段个数,就是有多少列
    NR 已经读出的记录数,就是行号,从1开始
    RS 输入的记录他隔符默 认为换行符
    OFS 输出字段分隔符 默认也是空格
    ORS 输出的记录分隔符,默认为换行符
    ARGC 命令行参数个数
    ARGV 命令行参数数组
    FILENAME 当前输入文件的名字
    IGNORECASE 如果为真,则进行忽略大小写的匹配
    ARGIND 当前被处理文件的ARGV标志符
    CONVFMT 数字转换格式 %.6g
    ENVIRON UNIX环境变量
    ERRNO UNIX系统错误消息
    FIELDWIDTHS 输入字段宽度的空白分隔字符
    FNR 当前记录数
    OFMT 数字的输出格式 %.6g
    RSTART 被匹配函数匹配的字符串首
    RLENGTH 被匹配函数匹配的字符串长度
    SUBSEP \034

    2.字符串函数

    函数 说明
    gsub( Ere, Repl, [ In ] ) 除了正则表达式所有具体值被替代这点,它和 sub 函数完全一样地执行。
    sub( Ere, Repl, [ In ] ) 用 Repl 参数指定的字符串替换 In 参数指定的字符串中的由 Ere参数指定的扩展正则表达式的第一个具体值。sub 函数返回替换的数量。出现在 Repl 参数指定的字符串中的 &(和符号)由 In参数指定的与 Ere 参数的指定的扩展正则表达式匹配的字符串替换。如果未指定 In 参数,缺省值是整个记录($0 记录变量)。
    index( String1, String2 ) 在由 String1 参数指定的字符串(其中有出现 String2 指定的参数)中,返回位置,从 1 开始编号。如果 String2 参数不在 String1 参数中出现,则返回 0(零)。
    length [(String)] 返回 String 参数指定的字符串的长度(字符形式)。如果未给出 String 参数,则返回整个记录的长度($0 记录变量)。
    blength [(String)] 返回 String 参数指定的字符串的长度(以字节为单位)。如果未给出 String 参数,则返回整个记录的长度($0 记录变量)。
    substr( String, M, [ N ] ) 返回具有 N 参数指定的字符数量子串。子串从 String参数指定的字符串取得,其字符以 M 参数指定的位置开始。M 参数指定为将 String 参数中的第一个字符作为编号 1。如果未指定 N参数,则子串的长度将是 M 参数指定的位置到 String 参数的末尾 的长度。
    match( String, Ere ) 在 String 参数指定的字符串(Ere参数指定的扩展正则表达式出现在其中)中返回位置(字符形式),从 1 开始编号,或如果 Ere 参数不出现,则返回 0(零)。RSTART特殊变量设置为返回值。RLENGTH 特殊变量设置为匹配的字符串的长度,或如果未找到任何匹配,则设置为 -1(负一)。
    split( String, A, [Ere] ) 将 String 参数指定的参数分割为数组元素 A[1], A[2], . .., A[n],并返回 n 变量的值。此分隔可以通过 Ere 参数指定的扩展正则表达式进行,或用当前字段分隔符(FS特殊变量)来进行(如果没有给出 Ere 参数)。除非上下文指明特定的元素还应具有一个数字值,否则 A 数组中的元素用字符串值来创建。
    tolower( String ) 返回 String 参数指定的字符串,字符串中每个大写字符将更改为小写。大写和小写的映射由当前语言环境的 LC_CTYPE 范畴定义。
    toupper( String ) 返回 String 参数指定的字符串,字符串中每个小写字符将更改为大写。大写和小写的映射由当前语言环境的 LC_CTYPE 范畴定义。
    sprintf(Format, Expr, Expr, . . . ) 根据 Format 参数指定的 printf 子例程格式字符串来格式化 Expr 参数指定的表达式并返回最后生成的字符串。

    3.时间函数

    函数 说明
    mktime( YYYY MM DD HH MM SS[ DST]) 生成时间格式
    strftime([format [, timestamp]]) 格式化时间输出,将时间戳转为时间字符串具体格式,见下表.
    systime() 得到时间戳,返回从1970年1月1日开始到当前时间(不计闰年)的整秒数

    http://www.361way.com/awk-builtin-function/4935.html
    http://www.361way.com/awk-built-in-variable/4932.html

    相关文章

      网友评论

          本文标题:Python学习:awk常用变量和函数

          本文链接:https://www.haomeiwen.com/subject/umsyvltx.html