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)
%% 百分号(%)
接下来还有应用场景。。。。
声明:我的博客只是笔记 一般情况比较粗 下只适合我自己看
观念:
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)
%% 百分号(%)
接下来还有应用场景。。。。
相关文章推荐
- 细看网络仿真工具
- C#实现属于自己的QQ截图工具
- 详解SQL Server 2008工具SQL Server Profiler
- C#实现的SN快速输入工具实例
- DOS下的必备工具
- 基于C++自动化编译工具的使用详解
- 如何使用Strace调试工具
- 五个PHP程序员工具
- ASP.NET开发中经常用到10款工具软件介绍
- 发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
- 阻止网页挂马的若干工具小集合
- Java加密解密工具(适用于JavaSE/JavaEE/Android)
- 10个实用的脚本代码工具
- php文档工具PHP Documentor安装与使用方法
- Web前端开发工具――bower依赖包管理工具
- Android快速分析apk工具aapt的使用教程
- PHP性能分析工具XHProf安装使用教程
- Visual Studio 2010 前端开发工具/扩展/插件推荐
- 5个提高Linux开发效率的工具