您的位置:首页 > 其它

awk个人笔记

2016-07-24 18:21 302 查看
用心做好一件事 恩 用心学好AWK

声明:我的博客只是笔记 一般情况比较粗 下只适合我自己看

观念:

1.将awk看成一个工具,需要用的时候才拿出来

2.将awk的输入看成一个数据库,你用它来做数据分析或者其他处理

3.将他看成一门编程语言深入学习,尽可能多的了解它的应用场景

-v 设置变量

-f 引入文件

-F设置分隔符

注:-v 设置的变量会在文件引入前就设定 相当于程序中的初始化变量

awk的变量类型只有数值与字符即int与string类型

变量的的赋值语句必须在脚本参数的后面

变量赋值在文件之后 则变量的作用域在处理文件之后 反之亦然

函数的参数为局部变量 函数内的参数的全局变量

通用函数

数学函数

atan2(y,x) 计算y/x的反正切

cos(x) 计算x的余弦;x是弧度

sin(x) 计算x的正弦;x是弧度

exp(x) 计算e的x幂

log(x) 计算x的自然对数

sqrt(x) 计算x平方根

int(x) 计算x的截断至整数的值

rand() 返回一个随机数,范围0~1,小于1

srand(x) 设置rand函数的种子值,省略参数则使用时间作为参数。返回先前的种子值

字符串函数

gsub(pattern,des,src) 由des替换src所有被pattern匹配的字符串

sub(pattern,des,src) 用des替换src中被pattern匹配的第一个字符串。函数返回替换的数量。如果未指定src参数,缺省值是整个记录(0)index(str1,Str2)str2中的字符串出现在str1中的从1开始的位置。若没有则返回0length(str)返回str参数指定的字符串的长度(字符形式)。如果未给出str参数,则返回整个记录的长度(0)

substr(str,ptr,n) 返回字符串s中从ptr开始长度为n的字符串,如果未指定n,则返回ptr指定的位置到str参数的末尾的字符串

match(str,pattern) 返回在str中匹配pattern的开始位置,并设置RLENGTH变量为匹配个数。无匹配时RLENGTH为-1

split(str,array,[pattern]) 将str字符串以pattern为分隔符,分割并存在array数组内。省略pattern时使用默认分隔符

tolower(str) 返回str参数指定的字符串,字符串中每个大写字符将更改为小写

toupper(str) 返回str参数指定的字符串,字符串中每个小写字符将更改为大写

sprintf(format,expr,expr,…) 字符串格式化函数,返回格式化后的字符串

其他函数

close(filenameORcommand)

system(command )

expression | getline [ variable ]

getline [ variable ] < filename

getline [ variable ]

格式 描述

%a 星期几的缩写(Sun)

%A 星期几的完整写法(Sunday)

%b 月名的缩写(Oct)

%B 月名的完整写法(October)

%c 本地日期和时间

%d 十进制日期

%D 日期 08/20/99

%e 日期,如果只有一位会补上一个空格

%H 用十进制表示24小时格式的小时

%I 用十进制表示12小时格式的小时

%j 从1月1日起一年中的第几天

%m 十进制表示的月份

%M 十进制表示的分钟

%S 十进制表示的秒

%U 十进制表示的一年中的第几个星期(星期天作为一个星期的开始)

%w 十进制表示的星期几(星期天是0)

%W 十进制表示的一年中的第几个星期(星期一作为一个星期的开始)

%x 重新设置本地日期(08/20/99)

%X 重新设置本地时间(12:00:00)

%y 两位数字表示的年(99)

%Y 完整数字表示的年

%Z 时区(PDT)

%p 12小时表示法(AM/PM)

%% 百分号(%)

接下来还有应用场景。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  工具