awk(报告生成器)详解

awk是一个用于文本分析的工具,尤其擅长数据处理和生成报告。它以空格为默认分隔符对文件逐行处理,通过BEGIN、通用和END语句块进行分析。awk包括OPTIONS、内置变量、print/printf函数以及控制语句和内置函数等功能。
摘要由CSDN通过智能技术生成

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
AWK a.k.a. Aho, Kernighan and Weinberger(awk的三位创始人)

awk [options] 'PATTERN { action }' file1 file2, ...
awk [options] 'BEGIN{action;...} PATTERN{action;...}END{action;...}' file ....

awk程序通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块三部分组成。

OPTIONS:

-F:指明输入时用到的字段分隔符
-v var=value :自定义变量
-f: scripfile or --file scriptfile	从脚本文件中读取awk命令。 

awk变量

FS: field separator,读取文件本时,所使用字段分隔符。
RS: Record separator,输入文本信息所使用的换行符。
OFS: Output Filed Separator: 输出字段分割符。
ORS:Output Row Separator:输出行分割符。

NR: The number of input records,awk命令所处理的记录数(行数)。如果有多个文件,这个数目会把处理的多个文件中行统一计数。
NF:Number of Field,当前记录的field个数、一条记录的字段数目。
FNR:NR不同的是,FNR用于记录正处理的行是当前这一文件中被总共处理的行数。

$0:完整的输入记录
$n:当前记录的第n个字段,字段间由FS分隔

ARGC:命令行参数的数目
ARGV:包含命令行参数的数组
FILENAME:当前文件名

print和printf

print和printf都是打印输出的,不过两者用法和显示上有些不同而已。

print 格式:print item1,item2, ...
printf格式:printf “FORMAT,item1,item2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值