shell study-21day--正则awk命令

1、功能介绍
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。是一种文本报告生成器,实现格式化文本输出。之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。
2、语法格式

awk [options] 'BEGIN{ print "start" } ‘pattern{ commands }’ END{ print "end" }' file

注:
BEGIN、END是AWK 的关键字部,因此必须大写;这两个部分开始块和结束块是可选的
BEGIN 语句设置计数和打印头部信息,在任何动作之前进行
END 语句输出统计结果,在完成动作之后执行
3、AWK工作步骤
AWK工作通过三个步骤
(1)读:从文件、管道或标准输入中读入一行然后把它存放到内存中;
(2)执行:对每一行数据,根据 AWK 命令按顺序执行。默认情况是处理每一行数据,也可以指定模式。
(3)重复:一直重复上述两个过程直到文件结束。
4、AWK语法格式及参数选项
(1)AWK语法格式
awk [选项参数] ‘命令’ 指定操作文件名
awk [选项参数] -f awk脚本 指定操作文件名
(2)参数选项

-F fs,--field-separator fs
指定以fs作为输入行分隔符,fs是一个字符串或者是一个正则表达式(默认分隔符为空格或者制表符)

-v var=value , --asign var=value
赋值一个用户定义变量

-f scripfile , --file scriptfile
从脚本文件中读取awk命令
-W compact,--compat, -W traditional,--traditional
在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略

-W copyleft,--copyleft, -W copyright,--copyright
打印简短的版权信息

-W dump-variables[=file],--dump-variables[=file]
打印全局变量(变量名、类型、值)到文件中,如果没有提供文件名,则自动输出至名为dump-variables的文件中。

-W help or --help, -W usage or --usage
打印全部awk选项和每个选项的简短说明

5、AWK变量
awk 内置变量(预定义变量)

$n:当前记录的第n个字段,比如:$1表示第一个字段,$2表示第二个字段
$0:这个变量包含执行过程中当前行的文本内容
FILENAME:当前输入文件的名
FS:字段分隔符(默认是空格)
NF:表示字段数,在执行过程中对应于当前的字段数,NF:列的个数
FNR:各文件分别计数的行号
NR:表示记录数,在执行过程中对应于当前的行号
OFS:输出字段分隔符(默认值是一个空格)
ORS:输出记录分隔符(默认值是一个换行符)
RS:记录分隔符(默认是一个换行符)

运算符:

~  :匹配,与==相比不是精确比较
!~ :不匹配,不精确比较
==:等于,必须全部相等,精确比较
!=:不等于,精确比较
&&:逻辑与
||:逻辑或
+ :匹配时表示1个或1个以上
/[0-9][0-9]+/:两个或两个以上数字
/[0-9][0-9]*/:一个或一个以上数字
< <= > >= != ==:关系运算符
+ -:加,减
* / %:乘,除与求余
+ - !:一元加,减和逻辑非
^ ***:求幂
++ --:增加或减少,作为前缀或后缀
$:字段引用

个人公众号:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值