【参考文章】:
【参考文章】:
1. 简介
AWK是一种处理文本文件的语言,是一个强大的文本分析工具。
AWK其实不仅仅是工具软件,还是一种编程语言。
2. 基本用法
awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。
默认使用空格作为分隔符。
awk '{ action }' {filenames}
awk '{ pattern + action }' {filenames}
awk -F '分隔符' { action }
3. 变量
- $ + 数字 :表示第几个字段,$1 ,$2 表示第 1 ,2 个字段,
- NF :表示当前行有多少个字段,因此$NF就代表最后一个字段,$(NF-1)代表倒数第二个字段。
- NR 表示当前处理的是第几行
- FILENAME:当前文件名
- FS:字段分隔符,默认是空格和制表符。
- RS:行分隔符,用于分割每一行,默认是换行符。
- OFS:输出字段的分隔符,用于打印时分隔字段,默认为空格。
- ORS:输出记录的分隔符,用于打印时分隔记录,默认为换行符。
- OFMT:数字输出的格式,默认为%.6g。
4. 函数
4.1 print 和 printf
awk中同时提供了print和printf两种打印输出的函数。
print函数,参数可以是变量、数值或者字符串。字符串必须用双引号引用,参数用逗号分隔。如果没有逗号,参数就串联在一起而无法区分。这里,逗号的作用与输出文件的分隔符的作用是一样的,只是后者是空格而已。
printf函数,其用法和c语言中printf基本相似,可以格式化字符串,输出复杂时,printf更加好用,代码更易懂。
4.2 其他函数
- tolower():字符转为小写。
- length():返回字符串长度。
- substr():返回子字符串。
- sin():正弦。
- cos():余弦。
- sqrt():平方根。
- rand():随机数。