awk 分隔符 多个空格_shell study21day正则awk命令

本文详细介绍了awk命令的功能、语法格式和工作步骤,特别讨论了如何处理多个空格的分隔符问题。内容涵盖BEGIN和END关键字的使用,AWK的读、执行和重复工作流程,以及-F参数设置输入行分隔符等。同时,文章还提及了内置变量和运算符的相关知识。
摘要由CSDN通过智能技术生成

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]*/:一个或一个以上数字< <= > >= != ==:关系运算符+ -:加,减* / %:乘,除与求余+ - !:一元加,减和逻辑非^ ***:求幂++ --:增加或减少,作为前缀或后缀$:字段引用

c90388d0fca8081126ac1d28e412efe1.png

我本是槐花院落闲散的人,满襟酒气。小池塘边跌坐看鱼,眉挑烟火过一生。

——沈离淮

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值