您当前的位置: 首页 > 

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

awk命令

梁云亮 发布时间:2020-02-26 10:36:54 ,浏览量:2

awk是一个强大的文本分析工具,它在对数据分析并生成报告时,显得尤为强大。 awk逐行读入文件,以空格为默认分隔符对每行进行切片,最后再对切开的部分进行各种分析处理。 awk以文件的一行为处理单位,每接收文件的一行,然后执行相应的命令,来处理文本。

语法:

awk [选项参数] ‘pattern1{action1} pattern2{action2}…’ filename

  • pattern:匹配模式
  • action:在找到匹配内容时所执行的一系列命令。注意:只有匹配了pattern的行才会执行action
选项参数功能-F输入文件分隔符-v赋值一个用户定义变量
  • 输出emp.txt的第1和第2列。 在这里插入图片描述

  • 输出dept.txt中的数据,并添加表头和表尾,中间为空格分隔 在这里插入图片描述 注意:BEGIN 在所有数据读取行之前执行;END 在所有数据执行之后执行。BEGIN和END都需要大写

  • 搜索emp.txt文件中包含AR关键字的所有行,并输出该行的第1列和第2列,中间以’,'号分割。 在这里插入图片描述 其中:

  • . 匹配除"\r\n"之外的任何单个字符

  • * 零次或多次匹配前面的字符或子表达式

示例:取出emp.txt中的deptno并排序. 在这里插入图片描述

awk的内置变量

内置变量说明ARGC命令行参数个数ARGV命令行参数排列ENVIRON支持队列中系统环境变量的使用FILENAME文件名FNR浏览文件的记录数FS设置输入域分隔符,等价于命令行 -F选项NR已读的记录数,即当前行数NF切割后,列的个数OFS输出域分隔符ORS输出记录分隔符RS控制记录分隔符

示例:统计dept.txt文件名,每行的行号,每行的列数 在这里插入图片描述 使用printf替代print,可以让代码更加简洁,易读 在这里插入图片描述 备注: awk中同时提供了print和printf两种打印输出的函数,其中:

  • print函数的参数可以是变量、数值或者字符串。字符串必须用双引号引用,参数用逗号分隔。如果没有逗号,参数就串联在一起而无法区分。
  • printf后面的小括号可以省略
  • printf函数,可以使用格式化字符串
  • 输出复杂时,printf更加好用,代码更易懂

示例:切割IP 在这里插入图片描述

示例:求所有部门编号的和 在这里插入图片描述 示例:对文件中的数据排序并求和 数据: 12 8 14 4 6 8 9 10 11 在这里插入图片描述

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0433s