shell脚本——awk命令详解
每日分享:
也许你错过了今天的落日,但你可以去追逐下一个黎明!
文章目录
- 一、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命令详解相关推荐
- shell之awk命令详解
awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F ...
- shell awk命令详解
shell awk命令详解 awk原理 格式 实操 相关内建变量 简易需求 进阶操作 高阶操作 awk原理 逐行读取文本,默认时以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中, ...
- linux awk命令详解,使用system来内嵌系统命令,批量github,批量批下载视频, awk合并两列...
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- 深度学企业linux awk命令详解与应用(下篇)
开篇语: 我们在<一篇速学企业linux awk命令详解与应用(上篇)>中介绍了 awk 的基本用法,其实在awk 脚本程序中,还支持使用一些编程语言,比如变量.数组.分支结构(if-th ...
- linux下awk命令详解,Linux文件处理awk命令-linux awk命令详解-嗨客网
Linux文件处理awk命令详解教程 Linux awk命令说明 awk 是一个强大的文本分析工具,相对于 awk 有 3 个不同版本: awk.nawk 和 gawk,未作特别说明,一般指 gawk ...
- Liunx awk命令详解
Liunx awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- linux awk命令根据分隔符输出,Linux运维知识之Linux awk命令详解
本文主要向大家介绍了Linux运维知识之Linux awk命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. awk :适用程序,一种unix工具 就是一个强大的文本分析工 ...
- Linux awk命令详解
awk 是除了 sed 命令之外,Linux 系统中另一个功能比较强大的数据处理工具.下面良许小编就将从几个方面对于 Linux awk命令详解命令进行详述,希望对大家有所帮助. 和 sed 命令类似 ...
- awk命令详解【非常实用】
shell三剑客:grep.sed.awk cut -c:字符数来截取 character -f:字段来截取 field -d:指定分隔符 默认是tab awk命令详解 awk其实可以看做一种编程语言 ...
最新文章
- crontab 备份mysql数据库_crontab定时备份mySQL数据库
- iOS KVO 的实现原理
- c# winform listview 删除
- android token过期怎么跳转登录_用sa-token轻松解决网站权限验证
- python 嵌入键值数据库_PupDB 一个用Python编写基于文件的简单键值数据库
- 将csv文件导入到mysql数据库
- SAP 批次管理(Batch management)
- Cloud for Customer动态控制任意UI element的visibility
- 【Qt】Qt之进程间通信(共享内存)【转】
- mysql 查新格式化_mysql 日期格式化查询
- 技术剖析 | Axonius为什么能获得 2019 RSAC创新大奖 1
- 初识Visual Studio 2010(四)—— 创建ASP.NET网站
- visual studio code(vs code) 编译、运行、调试程序(调用g++)
- BIM族库下载——Revit灯具族库
- 明解C语言 入门 课后习题练习答案 第三章
- dep指定版本 go_Go语言包管理工具dep的安装与使用
- 移动端扫描vin码/车架号识别
- thinkphp内核家教平台网站源码带手机站
- 软件集成:Simulink与STM32联合开发
- 卸载Visual Studio 2015并安装Visual Studio 2019