当前位置:网站首页>Shell 文本三剑客 awk
Shell 文本三剑客 awk
2022-08-10 02:54:00 【Drw_Dcm】
目录
前言
awk:Aho, Weinberger, Kernighan,报告生成器,格式化文本输出,GNU/Linux发布的AWK目前由自由软件基金会(FSF)进行开发和维护,通常也称为 GNU AWK
有多种版本:
AWK:原先来源于 AT & T 实验室的的AWK
NAWK:New awk,AT & T 实验室的AWK的升级版
GAWK:即GNU AWK。所有的GNU/Linux发布版都自带GAWK,它与AWK和NAWK完全兼容
GNU AWK 用户手册文档。
在 Linux/UNIX 系统中,awk 是一个功能强大的编辑工具,逐行读取输入文本,默认以空格或tab键作为分隔符作为分隔,并按模式或者条件执行编辑命令。而awk比较倾向于将一行分成多个字段然后进行处理。AWK信息的读入也是逐行指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理,可以在无交互的情况下实现相当复杂的文本操作,被广泛应用于 Shell 脚本,完成各种自动化配置任务。
gawk:模式扫描和处理语言,可以实现下面功能。
vim : 是将整个文件加载到内存中再进行编辑,受限内存。
awk(语言) : 读取一行处理一行。
一、awk工具介绍
1.功能强大的编辑工具
2.无交互的情况下实现复杂的文本操作
3.命令格式
(1)awk 选项 '模式或条件 { 编辑指令 }' 文件1 文件2
(2)awk -f 脚本文件 文件1 文件2
格式:
awk [options] 'program' var=value file...
awk [options] -f programfile var=value file...
说明:
program通常是被放在单引号中,并可以由三种部分组成
BEGIN语句块
模式匹配的通用语句块
END语句块
pattern{action statements;..}
pattern: 决定动作语句何时触发及触发事件,比如: BEGIN, END,正则表达式等
action statements: 对数据进行处理,放在{}内指明,常见: print, printf
常见选项:
-F“ 分隔符”指明输入时用到的字段分隔符,默认的分隔符是若千个连续空白符
-v var=value变量赋值
awk [选项] '模式条件{操作}'文件1文件2....
awk -f|-v 脚本文件 文件1 文件2.....
二、awk工作原理
逐行读取文本,默认以空格为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。
awk 比较倾向于将一行分成多个“字段”然后再进行处理,且默认情况下字段的分隔符为空格或 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。
三、awk内置变量
FS:指定每行文本的字段分隔符,缺省为空格或制表符(tab)。与"-F"作用相同 -F -FS一起使用-F的优先级高
NF:当前处理的行的字段个数
NR:当前处理的行的行号(序数)
$0:当前处理的行的整行内容
$n:当前处理行的第n个字段(第n列)
FILENAME:被处理的文件名
RS:行分隔符。awk从文件上读取资料时,将根据RS的定义就把资料切割成许多条记录,而awk一次仅读入一条记录进行处理。预设值是\n
OFS 输出字段的分隔符,默认也是空格
ORS 输出分割符,默认也是换行符
FNR 读取文件的记录数(行号),从1开始,新的文件重新从1开始计数
四、自定义变量
综合应用
边栏推荐
- NFG电商系统在元宇宙趋势下做什么?
- P1564 Worship
- Example 046: Breaking the Cycle
- 第三章 搜索与图论(二)
- 2022.8.9 Exam arrangement and transformation--1200 questions solution
- 【图像分类】2022-ResMLP
- 如何使用腾讯字体,已经在什么场合下可以使用该字体?TTTGB-Medium
- matlab simulink响应谱计算
- The Evolutionary History of the "Double Gun" Trojan Horse Virus
- Example 045: Summation
猜你喜欢
随机推荐
2022.8.8 Exam questions for photographer Lao Ma (photographer)
【图像分类】2022-CycleMLP ICLR
过水滑环的结构和工作原理
金融财经翻译的行业前景如何
实例045:求和
Example 044: Matrix Addition
Research on IC enterprises
实例043:作用域、类的方法与变量
Redis - Basic operations and usage scenarios of String|Hash|List|Set|Zset data types
[Kali Security Penetration Testing Practice Course] Chapter 9 Wireless Network Penetration
2022.8.8 Exam Travel Summary
驱动程序开发:无设备树和有设备树的platform驱动
程序国际化
小程序导航及导航传参
Web mining traceability?Browser browsing history viewing tool Browsinghistoryview
获取属性特性几种方法
实测办公场景下,国产远程控制软件的表现力如何?(技术解析)
The Evolutionary History of the "Double Gun" Trojan Horse Virus
Robust Real-time LiDAR-inertial Initialization(实时鲁棒的LiDAR惯性初始化)论文学习
(面试加分新技能) 总结11个ES2022中你可能遗漏的语法