AWK学习笔记-2.1Pattern属性

Pattern

  1. BEGIN {statements}
    读取所有输入行之前执行

  2. END {statements}
    所有行输入之后执行

  3. expression {statements}
    满足条件的每一行执行

  4. /regular expression/ {statements}
    匹配执行

  5. compound pattern {statements}
    条件执行 &&(AND) ||(OR) !(NOT)

  6. pattern1, pattern2 {statements}

BEGIN END

如果出现多个,会顺序执行

  • BEGIN可以由FS设置分隔符
  • 可以通过设置print参数设置输出格式

    BEGIN{FS="\t"
      printf()
    }

expression {statements}

比较符号:

小于小于等于等于不等于大于等于匹配不匹配
<<===!=>=~!~

字符串之间的比较按照ASCII进行。
* $0 >= "x" 以x及x之后字母开头的文字

/regular expression/ {statements}

字符串的匹配检测。

  • /regexpr/
  • expression ~ /regexpr/
  • expression !~ /regexpr/

/Asia/ 会找出含有Asia的字符串。也是$0 ~/Asia/的简写

$4 ~/Asia/ 找出第四列种含有Asia的行
$4 !~/Asia/ 找出第四列种不含有Asia的行

regular expression正则表达式

正则表达式的详细内容可见网上参考书籍
* 常用元字符:
\ 特殊含义\t或者转义字符
^ 开头
$ 结尾
. 单个字符
[ABC] 匹配A,B,C
[A-Z] 匹配A-Z
[^0-9] 不含有数字的字符
A* 0 or more A
A+ 1 or more A
A? null string or A

  • ^$例子

    ^C 以C开头的字符串
    C$ 以C结尾的字符串
    ^C$ 包含C的字符串
    ^.$ 长度为1的字符串
    ^…$ 长度为3的字符串
    … 匹配长度>=3的字符串
    \.$ 匹配字符串末尾的点号.

  • ^^的使用,开头和排除

    ^ [ABC] 以A,B,C开头的字符串
    ^[\^ABC] 以除去A,B,C开头的任何字符串
    [\^ABC] 匹配除去A,B,C的任意字符

  • 常用的转义字符

    \b 空格
    \f 换页符
    \n 换行符
    \r 回车,回到行首,覆盖之前的字符
    \t 制表符
    \ddd 八进制
    \ 转义输出符号

|| && !

逗号,

/1/,/2/ 从含有1开始的字符串开始匹配,出现2之后匹配结束

加到行首 awk ‘{$1=”RR”$1;print}’ testa.txt
加到行尾 awk ‘{$NF=$NF”RR”;print}’ testa.txt
使用脚本命令 awk -f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值