资讯专栏INFORMATION COLUMN

神级命令awk之30分钟速成必看

maxmin / 1423人阅读

摘要:重点提要动作的左花括号必须与它的模式在同一行而剩下的部分包括右花括号则可以出现在下面几行如果一个表达式拥有一个数值形式的值而运算符要求一个字符串值那么该数值会自动转换成字符串类似地当运算符要求一个数值时字符串被自动转换成数值在一个关系比较中

重点提要

动作的左花括号必须与它的模式在同一行; 而剩下的部分, 包括右花括号, 则可以出现在下面几行;

如果一个表达式拥有一个数值形式的值, 而运算符要求一个字符串值, 那么该数值会自动转换成字符串, 类似地, 当运算符要求一个数值时, 字符串被自动转换成数值;

在一个关系比较中, 如果两个操作数都是数值, 关系比较将会按照数值比较进行; 否则的话数值操作数会被转换成字符串, 再将操作数按字符串的形式进行比较两个字符串间的比较以字符为单位逐个相比, 字符间的先后顺序依赖于机器的字符集(大多数情况下是ASCII字符集);

把一个字符串赋值给内建变量FS 就可以改变字段分隔符. 如果字符串的长度多于一个字符, 那么它会被当成一个正则表达式. 当前输入行中, 与该正则表达式匹配的最左, 最长, 非空且不重叠的子字符串变成字段分隔符;

正则表达式

正则表达式的元字符包括: ^ $ . [ ] | ( ) * + ?

一个基本的正则表达式包括下面几种:
一个不是元字符的字符, 例如A, 这个正则表达式匹配的就是它本身.
一个匹配特殊符号的转义字符: t 匹配一个制表符(见表2.2).
一个被引用的元字符, 例如*, 按字面意义匹配元字符.
^ 匹配一行的开始.
$ 匹配一行的结束.
. 匹配任意一个字符.
一个字符类: [ABC] 匹配字符A, B 或C.
字符类可能包含缩写形式: [A-Za-z] 匹配单个字母.
一个互补的字符类: 1 匹配任意一个不是数字的字符.

【注意】使用gsub时,/也需要转义

使用代码片段

有效浮点数验证

    BEGIN {
        sign = "[+-]?"
        decimal = "[0-9]+[.]?[0-9]*"
        fraction = "[.][0-9]+"
        exponent = "([eE]" sign "[0-9]+)?"
        number = "^" sign "(" decimal "|" fraction ")" exponent "$"
    }
    $0 ~ number
  • 0-9 ↩

  • 文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

    转载请注明本文地址:https://www.ucloud.cn/yun/63053.html

    相关文章

    • 玩转Linux - 神级工具 sed & awk

      摘要:动作说明,不见得会存在,一般代表选择进行动作的行数。替换,可以直接进行替换工作。注是以行为一次处理的单位,而以字段最小的处理单位。列出目前处理的行数那就是内的变量。 简介 本文主要介绍 Linux 系统的两个神级工具:sed 和 awk ,他们是Linux高手们必备的技能,很值得我们去研究的东西。 这里是我在网上书上收集的相关资料,因为这两个工具很有名也很重要,所以这些资料会帮助我更好...

      yibinnn 评论0 收藏0
    • SegmentFault 技术周刊 Vol.19 - Linux 文本处理三利器

      摘要:所以,本期周刊将介绍命令行世界中最常用的文本处理命令三巨头,让它们带你初步领略命令行的强大。简单的,可以直接理解为是一个数据处理工具,倾向于将一行文本分成数个字段来处理,适合小型数据的处理。 showImg(https://sfault-image.b0.upaiyun.com/226/799/2267992322-586b7c52ed9fc); 之前看过一篇文章《当我们 chmod ...

      hightopo 评论0 收藏0
    • shell在手分析服务器日志不愁?

      摘要:自己的小网站跑在阿里云的上面偶尔也去分析分析自己网站服务器日志看看网站的访问量。然后统计最终返回的数字就是当前所有端口的已建立连接的总数。 自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! 1、查看有多少个IP访问: awk {print $1} log_file|sor...

      fyber 评论0 收藏0
    • shell在手分析服务器日志不愁?

      摘要:自己的小网站跑在阿里云的上面偶尔也去分析分析自己网站服务器日志看看网站的访问量。然后统计最终返回的数字就是当前所有端口的已建立连接的总数。 自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! 1、查看有多少个IP访问: awk {print $1} log_file|sor...

      Berwin 评论0 收藏0
    • 三剑客AWK

      摘要:使用中,需要处理的文件,逐行使用分隔符分割成若干个字段,称之为域,分隔符默认是空格,可使用选项来指定分隔符脚本模式将所需执行的命令插入脚本文件,然后在首行设置命令解释器为通过键入脚本名的方式调用。 博文参考 http://www.178linux.com/6553 http://baike.baidu.com/link?url=Y4lo-kWxygpw7NLaKTSehvpkAM7og...

      csRyan 评论0 收藏0

    发表评论

    0条评论

    最新活动
    阅读需要支付1元查看
    <