当前位置: 首页 > wzjs >正文

广东省住房和建设网站网站建设 精品课程

广东省住房和建设网站,网站建设 精品课程,应用商店网站模板,可视化拖拽网站建设软件awk awk数据处理awk工作原理awk语法特殊变量awk使用forawk使用if转义序列运算算数运算逻辑运算正则运算关系运算 awk脚本示例 awk数据处理 awk:流文本处理工具 awk是一种编程语言,用于对文本和数据的处理,数据可以来则标准输入、一个或多个文件&#xff…

awk

  • awk数据处理
    • awk工作原理
    • awk语法
    • 特殊变量
    • awk使用for
    • awk使用if
    • 转义序列
    • 运算
      • 算数运算
      • 逻辑运算
      • 正则运算
      • 关系运算
    • awk脚本示例

awk数据处理

awk:流文本处理工具

awk是一种编程语言,用于对文本和数据的处理,数据可以来则标准输入、一个或多个文件,它支持用户自定义函数和动态正则表达式等功能,awk处理文本和数据的方式是:
逐行扫描文件,从第一行到最后一行
寻找匹配特定模式的行,并进行需要进行的操作

awk工作原理

awk使用每一行输入,并将这一行赋给内部变量$0,每一行也可称为一个记录,以换行符结束,然后,行被(默认为空格或制表符)分解成字段(或称为域),每个字段存储在已编号的变量中,awk输出之后,将从文件中获取另一行,并将其存储在$0,覆盖原来的内容,然后将新的字符串分割成字段进行处理,该过程将持续到所有行处理完毕

awk语法

awk [options] 'commands' 文件名options:
-F   定义输入字段分隔符,默认分隔符是空格或制表符(tab)
-f   指定一个规则文件 
-v   赋值一个用户定义变量,将外部变量传递给awk
-mf N 指定要处理的数据文件中的最大字段数
-mr N 指定数据文件中的最大数据行数
-W keyword 指定awk的兼容模式或警告等级
commands:
BEGIN{}:begin发生在行处理之前{}:行处理时,读一次执行一次END{}:行处理之后

特殊变量

默认分隔符是空格或者tab键

NF: 表示字段数量, 当awk将行为记录时      //该变量相当于当前列号
FS(输入字段分隔符)     //更改文件分割符,与参数-F作用相似
awk 'BEGIBN{FS=":"}{print $NF}' passwd passwd OFS(输出字段分隔符)    //修改输出显示分隔符
awk 'BEGIN{FS=":";OFS=".."} {print $1,$2}' passwd NR(处理时候添加行号)   //处理时添加上行号,多文件时候,累加添加行号
awk 'BEGIBN{FS=":"}{print NR,$0}' passwdFNR(处理时候添加行号)  //处理时添加上行号,多文件时候,按文件分别添加行号
awk 'BEGIBN{FS=":"}{print FNR,$0}' passwd passwd   RS(输入记录分隔符)     //一行为一个记录,默认分隔符是换行符
awk -F: 'BEGIN{RS="\n"} {print $0}' passwd    //默认输入记录分隔符是\nORS(输出记录分隔符)    //一行为一个记录,默认分隔符是换行符
awk -F: 'BEGIN{ORS=" "} {print $0}' passwd    //输出分隔符修改为" "NF(字段个数)          //NF是表示总列数,常用$NF来取最后一列
awk -F ":"  '{print $NF}' passwd    

awk使用for

每行打印两次
awk -F: '{for(i=1;i<=2;i++) {print $0}}' passwd 分别打印每行每列
awk -F: '{for(i=1;i<=NF;i++) {print $i}}' passwd

awk使用if

awk 'BEGIN{开始输出}{if(条件){print $0}else{}}END{结尾输出}' 文件名

转义序列

\\ \自身
\$ 转义$
\t 制表符
\b 退格符
\r 回车符
\n 换行符
\c 取消换行

运算

算数运算

+ 加
- 减
* 乘
/ 除
& 求余

逻辑运算

||	逻辑或
&&	逻辑与

正则运算

~   匹配正则表达式
!~	不匹配正则表达式

关系运算

<   小于
<=  小于等于
>   大于
>=  大于等于
!=  不等于
==	等于

awk脚本示例

统计文件内的性别人数
命令行awk -f 文件名.awk
文件输入:BEGIN{man=0woman=0
}
{if($3 == "女"){woman++
}else{man++
}
}
END{print "男生有:"man;print "女生有:"woman 
}命令行输入
awk 'BEGIN{man=0;woman=0}{if($3 == "女"){woman++}else{man++}}END{print "男生有:"man;print "女生有:"woman }'
统计/etc/passwd文件中的登录shell
awk -f awk.awk passwd
awk.awk文件内容:
BEGIN{
FS=":"
}
{bash[$NF]++}
END{
for(i in bash){
print i,bash[i]
}
}命令行输入
awk -F":" '{bash[$NF]++}END{for(i in bash){print i,bash[i]}}' passwd 
http://www.dtcms.com/wzjs/554596.html

相关文章:

  • 目前网站建设主流技术架构wordpress在php下安装教程视频
  • 服装设计有哪些网站经营虚拟网站策划书
  • 做美食介绍的网站粤信签微信小程序是什么
  • 江苏有什么网站找工程建设人员手机怎么做app详细步骤
  • 专业企业网站制作邯郸的互联网公司
  • 装饰网站方案游戏合作渠道
  • 旅游做网站建设企业网站电话
  • 两颗米随州网站建设建设部网站怎么查安全员
  • 电商建站工具广州最好的商城网站制作
  • php开源企业网站seo网络推广招聘
  • 手机wap网站定位食品网站的建设背景
  • 网站建设的收获体会上海十大国企集团
  • 网站推广咋做的wordpress如何添加表格
  • 网站源码分享网站搜索量查询
  • wordpress 设置站点地址创建公司网站过程
  • 长春 餐饮 网站建设民营建筑网站
  • 什么可以用手机做网站合肥 做网站的
  • wordpress 整站下载广告优化师是做什么的
  • 一流的江苏网站建设内蒙古网站建设费用
  • 网站建设中请稍后再访问网页制作网站首页
  • 广州网站建设优化公司wordpress 首页设置幻灯片
  • 幻灯网站源码个人网站百度推广收费
  • 大连 模板网站做英文简历的网站
  • 网站开发需要什么软件北京vi设计方案
  • 公司网站建设设计公司排名做网站的公司 贵阳
  • 萝卜建站分类信息做门户网站多少钱
  • 可免费商用的cms建站系统厦门网站排名优化软件
  • 网站ip流量查询厦门建设企业网站
  • 谷歌推广外贸建站wordpress网址改坏了
  • 公司备案查询网站传媒公司宣传