每日分享:
也许你错过了今天的落日,但你可以去追逐下一个黎明!


文章目录

  • 一、awk
    • 1、工作原理
    • 2、格式
    • 3、常见的内建变量
  • 二、awk命令使用——根据行输出内容
    • 输出所有内容
    • 输出指定行的内容
    • 输出奇数偶数行
    • 输出指定字符行的内容
  • 三、awk命令使用——根据字段输出
  • 四、awk命令使用——BEGIN、END模式
    • 1、格式
    • 2、例子
  • 五、awk命令使用——通过管道符、双引号调用
    • 查看内存使用情况
  • 六、awk命令使用——数组的使用
    • 数组为数字
    • 数组为字符串
    • 创建数组并循环

一、awk

  • awk是一种强大的编辑工具,相较于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个字段来处理,因为awk相当适合小型的文本数据。
  • awk 比较倾向于将一行分成多个字段然后再进行处理,且默认情况下字段的分隔符为空格或 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。

1、工作原理

  • 逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。

  • 在使用awk命令的过程中,可以使用逻辑操作符“&&”表示“”、“||”表示“”、“!”表示“”;还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。

2、格式

1、awk 选项 '模式或条件 {操作}' 文件 1 文件 2 …
2、awk -f 脚本文件 文件 1 文件 2 …

3、常见的内建变量

内建量 说明
NF 当前处理的行的字段个数
NR 当前处理的行的行号
FS 列分割符。指定每行文本的字段分隔符,默认为空格或制表位。与-F作用相同
$0 当前处理的行的整行内容
$n 当前处理行的第n个字段(第n列)
FILENAME 被处理的文件名
RS 行分隔符。awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录,以进行处理。预设值是’\n’

二、awk命令使用——根据行输出内容

输出所有内容

方法一

方法二

输出指定行的内容

输出第2行到第4行的内容
方法一

方法二

输出第2行和第四行内容

输出奇数偶数行

输出奇数行

打印偶数行

输出指定字符行的内容

输出a开头的行

输出以字母 f 结尾的行


三、awk命令使用——根据字段输出

指定字段内容作为分隔符



输出与指定内容相反的内容


四、awk命令使用——BEGIN、END模式

1、格式

awk 'BEGIN{...}; {...}; END{...}' 文件
  • BEGIN模式是在处理指定的文本之前,需要先执行BEGIN模式中指定的动作;

  • awk再处理指定的文本,之后再执行END模式中指定的动作;

  • END{ } 语句块中,往往会放入打印结果等语句。

2、例子


五、awk命令使用——通过管道符、双引号调用


查看内存使用情况


六、awk命令使用——数组的使用

数组为数字

数组为字符串

创建数组并循环

shell脚本——awk命令详解相关推荐

  1. shell之awk命令详解

    awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F ...

  2. shell awk命令详解

    shell awk命令详解 awk原理 格式 实操 相关内建变量 简易需求 进阶操作 高阶操作 awk原理 逐行读取文本,默认时以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中, ...

  3. linux awk命令详解,使用system来内嵌系统命令,批量github,批量批下载视频, awk合并两列...

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  4. 深度学企业linux awk命令详解与应用(下篇)

    开篇语: 我们在<一篇速学企业linux awk命令详解与应用(上篇)>中介绍了 awk 的基本用法,其实在awk 脚本程序中,还支持使用一些编程语言,比如变量.数组.分支结构(if-th ...

  5. linux下awk命令详解,Linux文件处理awk命令-linux awk命令详解-嗨客网

    Linux文件处理awk命令详解教程 Linux awk命令说明 awk 是一个强大的文本分析工具,相对于 awk 有 3 个不同版本: awk.nawk 和 gawk,未作特别说明,一般指 gawk ...

  6. Liunx awk命令详解

    Liunx awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  7. linux awk命令根据分隔符输出,Linux运维知识之Linux awk命令详解

    本文主要向大家介绍了Linux运维知识之Linux awk命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. awk :适用程序,一种unix工具 就是一个强大的文本分析工 ...

  8. Linux awk命令详解

    awk 是除了 sed 命令之外,Linux 系统中另一个功能比较强大的数据处理工具.下面良许小编就将从几个方面对于 Linux awk命令详解命令进行详述,希望对大家有所帮助. 和 sed 命令类似 ...

  9. awk命令详解【非常实用】

    shell三剑客:grep.sed.awk cut -c:字符数来截取 character -f:字段来截取 field -d:指定分隔符 默认是tab awk命令详解 awk其实可以看做一种编程语言 ...

最新文章

  1. crontab 备份mysql数据库_crontab定时备份mySQL数据库
  2. iOS KVO 的实现原理
  3. c# winform listview 删除
  4. android token过期怎么跳转登录_用sa-token轻松解决网站权限验证
  5. python 嵌入键值数据库_PupDB 一个用Python编写基于文件的简单键值数据库
  6. 将csv文件导入到mysql数据库
  7. SAP 批次管理(Batch management)
  8. Cloud for Customer动态控制任意UI element的visibility
  9. 【Qt】Qt之进程间通信(共享内存)【转】
  10. mysql 查新格式化_mysql 日期格式化查询
  11. 技术剖析 | Axonius为什么能获得 2019 RSAC创新大奖 1
  12. 初识Visual Studio 2010(四)—— 创建ASP.NET网站
  13. visual studio code(vs code) 编译、运行、调试程序(调用g++)
  14. BIM族库下载——Revit灯具族库
  15. 明解C语言 入门 课后习题练习答案 第三章
  16. dep指定版本 go_Go语言包管理工具dep的安装与使用
  17. 移动端扫描vin码/车架号识别
  18. thinkphp内核家教平台网站源码带手机站
  19. 软件集成:Simulink与STM32联合开发
  20. 卸载Visual Studio 2015并安装Visual Studio 2019

热门文章

  1. el-carousel加载缓慢
  2. 自动登录AppStore for Mac 1.1
  3. 农林植保小气候气象监测站,助力农林种植科学化
  4. linux重装系统怎么保存home下文件,Linux系统重装与还原
  5. IK分词器区分大小写
  6. 单板计算机(SBC)市场现状研究分析与发展前景预测报告
  7. 用python-plt.subplots画色块图
  8. 【Windows】虚拟串口工具VSPD6.9安装
  9. Linux(CentOS7)在VMware上的安装以及认识操作系统
  10. 盘点游戏史上那些难以超越的记录:下一个史诗级记录是刺激战场?