位置: 编程技术 - 正文

awk命令、awk编程语言详细介绍和实例(awk指令指定脚本程序)

编辑:rootadmin

推荐整理分享awk命令、awk编程语言详细介绍和实例(awk指令指定脚本程序),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:awk程序,awk命令行,awk命令用法,awk命令行,awk命令行,awk-f命令,awk-f命令,awk 编程,内容如对您有帮助,希望把文章链接给更多的朋友!

一,什么是awk

awk是linux下的一个命令,他对其他命令的输出,对文件的处理都十分强大,其实他更像一门编程语言,他可以自定义变量,有条件语句,有循环,有数组,有正则,有函数等。他读取输出,或者文件的方式是一行,一行的读,根据你给出的条件进行查找,并在找出来的行中进行操作,感觉他的设计思想,真的很简单,但是结合实际情况,具体操作起来就没有那么简单了。他有三种形势,awk,gawk,nawk,平时所说的awk其实就是gawk。

二,awk中的记录,域,分割符

当我们读取输出时,或者读取文件时,读取一行就是一个记录。记录分割符是默认是回车符,保存在RS,ORS中。我们从记录中分割出我们要单词,或者是词组等,我们称他为域,域分割符,默认的是空格和TAB?,保存在内建变量ORS中。举个例子:aaaa:bbbb:ccccccc::5t上面有二行,这二行就是二个记录,每行后面的回车呢,就是记录分割符,里面冒号呢,就是域分割符,分割出来的,aaaa,这类东西就是域了。awk -F: '{print $1}' testfile

三,awk的内建变量和运算符

1,变量

变 量 描述 $n 当前记录的第n个字段,字段间由 FS分隔。 $0 完整的输入记录。 ARGC 命 令行参数的数目。 ARGIND 命令行中当前文件的位置(从0开始算)。 ARGV 包 含命令行参数的数组。 CONVFMT 数字转换格式(默认值为%.6g) ENVIRON 环 境变量关联数组。 ERRNO 最后一个系统错误的描述。 FIELDWIDTHS 字 段宽度列表(用空格键分隔)。 FILENAME 当前文件名。 FNR 同 NR,但相对于当前文件。 FS 字段分隔符(默认是任何空格)。 IGNORECASE 如 果为真,则进行忽略大小写的匹配。 NF 当前记录中的字段数。 NR 当 前记录数。 OFMT 数字的输出格式(默认值是%.6g)。 OFS 输 出字段分隔符(默认值是一个空格)。 ORS 输出记录分隔符(默认值是一个换行符)。 RLENGTH 由 match函数所匹配的字符串的长度。 RS 记录分隔符(默认是一个换行符)。 RSTART 由 match函数所匹配的字符串的第一个位置。 SUBSEP 数组下标分隔符(默认值是)。

2,运算符

运算符 描述 = += -= *= /= %= ^= **= 赋值 &#;: C条件表达式 || 逻 辑或 && 逻辑与 ~ ~! 匹 配正则表达式和不匹配正则表达式 < <= > >= != == 关 系运算符 空格 连接 + - 加,减 * / & 乘,除与求余 + - ! 一元加,减和逻辑非 ^ *** 求幂 ++ -- 增加或减少,作为前缀或后缀 $ 字 段引用 in 数组成员

四,awk的正则

匹配符 描述 Y 匹配一个单词开头或者末尾的空字符串 B 匹配单词内的空字符串 < 匹配一个单词的开头的空字符串,锚定开始 > 匹配一个单词的末尾的空字符串,锚定末尾 W 匹配一个非字母数字组成的单词 w 匹配一个字母数字组成的单词 ' 匹配字符串末尾的一个空字符串 ‘ 匹配字符串开头的一个空字符串

五,awk的函数

1,字符串函数

函数名 描述 sub 匹配记录中最大、最靠左边的子字符串的正则表达式,并用替换字符串替换这些字符串。如果没有指定目标字符串就默认使用整个记录。替换只发生在第一次匹配的 时候 gsub 整个文档中进行匹配 index 返回子字符串第一次被匹配的位置,偏移量从位置1开始 substr 返回从位置1开始的子字符串,如果指定长度超过实际长度,就返回整个字符串 split 可按给定的分隔符把字符串分割为一个数组。如果分隔符没提供,则按当前FS值进行分割 length 返回记录的字符数 match 返回在字符串中正则表达式位置的索引,如果找不到指定的正则表达式则返回0。match函数会设置内建变量RSTART为字符串中子字符串的开始位 置,RLENGTH为到子字符串末尾的字符个数。substr可利于这些变量来截取字符串 toupper和tolower 可用于字符串大小间的转换,该功能只在gawk中有效

2,数学函数

函数名 返回值 atan2(x,y) y,x 范围内的余切 cos(x) 余弦函数 exp(x) 求 幂 int(x) 取整 log(x) 自然对 数 rand() 随机数 sin(x) 正弦 sqrt(x) 平 方根 srand(x) x是rand()函数的种子 int(x) 取 整,过程没有舍入 rand() 产生一个大于等于0而小于1的随机数 awk命令、awk编程语言详细介绍和实例(awk指令指定脚本程序)

六,实例

学习awk的时候,做了一个例子,学东西,不要光看,光看是记不住东西的。光看的话,也许你知道怎么回事,真正实际操作,不是这儿有问题,就是那儿有问题。所以一定要动手亲自操作一下。

1,测试文件test

例1:

例2:

例3:

例4:

例5:

例6:

例7:

shell脚本中使用iconv实现批量文件转码的代码分享 在开发中,我们经常需要对N多文件编码进行更改,iconv只能对单文件的进行更改,怎么办呢?我们写一个shell脚本来解决这个问题。例子一:使用shell脚

使用iconv批量改变文件编码的shell脚本 这篇文章主要介绍了编写shell脚本,使用iconv批量改变文件编码的脚本代码,需要的朋友可以参考下。用法示例:cd~/workspace/XXXProject~/iconv_shell.sh./*java好了

Shell脚本读取ini配置文件的实现代码2例 一、简单版参考stackoverflow的例子,改了一个出来:whileIFS='='readvarvaldoif[[$var==[*]]]thensection=$(echo$var|sed's/^[(.*)]$/1/')elif[[$val]]thenif[-z$section];thendeclare"${v

标签: awk指令指定脚本程序

本文链接地址:https://www.jiuchutong.com/biancheng/371592.html 转载请保留说明!

上一篇:awk中NR和FNR的区别小结和实例演示(awk fnr nr)

下一篇:shell脚本中使用iconv实现批量文件转码的代码分享(shell脚本 $?)

  • 以旧换新销售商品
  • 所得税汇算清缴调整项目
  • 企业如何进行纳税申报
  • 子公司自购买日开始持续计算的净资产包括商誉吗
  • 收入能加在库存上吗
  • 工资薪金所得和全年一次性奖金
  • 产品税率下调企业是否要到税务部门备案
  • 先预付一部分货款分录
  • 物业收取水费比水厂收的高怎么办
  • 房屋租赁违法
  • 红利所得分配也要交税吗
  • 劳务费发票和建筑劳务费发票
  • 差额纳税怎么记账
  • 2017 160号文件
  • 在建工程印花税计税依据
  • 购买方红字信息表开具流程图
  • 汇款退回重新汇到银行卡
  • 注销公司账不平怎么办
  • 企业销售费用支出怎么算
  • 框架采购合同如何计贴印花税?
  • 最新双色球开奖号码
  • 专项资金单独核算的法律依据是什么
  • 人工装卸怎么办营业执照
  • 保总保安服务有限公司
  • 企业清算剩余财产分配是否交个人所得税
  • 在建工程进项税可以抵扣吗
  • 寿命最短的苹果手机
  • 公司其他费用包括哪些费用
  • 增值税纳税筹划案例最新
  • 车辆被盗
  • 固定资产清理损失可以税前扣除吗
  • 如何写php守护进程数据
  • 简述php中常用魔术方法及其各自的作用
  • 总部资产减值测试例题
  • php如何实现
  • php中数据库怎么设计
  • gridview datakeynames
  • 云原生istio
  • iframe标签表示的框架
  • 基于stm32的飞行器
  • showmount命令安装
  • 所得税季度申报弥补以前年度亏损
  • 法人想从公司户提钱自己用有事吗
  • 利息支出税前扣除时间
  • phpcms不支持https怎么办
  • 嵌入式软件行业在加计扣除的时候可以看作是制造业吗
  • 医用增值税发票
  • 出差的招待费算差旅费
  • mysql子查询关键字
  • 股权转让完税证明图片
  • 小规模纳税人减按1%政策
  • 公众号认证小额打款流程
  • 银行退汇怎么做会计分录
  • 增值税专用发票抵扣期限
  • 企业研发费用包括工资支出吗
  • 旅游业小规模纳税人增值税申报
  • 不验旧能领购发票吗
  • 购买税控系统分录
  • 代理进口业务会计分录
  • 房地产开发企业增值税怎么算
  • 在mysql中使用什么语句来查询数据
  • sql常见的数据类型有哪些
  • mysqli修改表中数据
  • 使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '''' for column ''createtime''的快速解决方法
  • 自己动手制作
  • win7怎么用耳机听歌
  • linux系统怎么固定ip地址
  • 怎么安装u盘里的文件
  • win7笔记本设置合上盖子不休眠
  • linux下4种kill某个用户所有进程的方法
  • 域名解析a记录怎么填
  • linux中切换目录命令符
  • shell脚本运行linux命令
  • 游戏的背包和道具系统
  • windows node.js
  • android设计模式书籍
  • 广西地税局局长
  • 捐赠纳税
  • 差额征税差额开票怎么理解
  • 依法征拆
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设