文章插图
OFS输出间隔为两个制表符t 。
文章插图
输入内容以@分隔 。
文章插图
输出内容指定以"++++"分隔 。
awk工作原理
- awk使用一行作为输入,并将这一行赋给内部变量$0,每一行也可称为一个记录,以换行符(RS)结束
- 每行被间隔符(默认为空格或制表符)分解成字段,每个字段存储在已编号的变量中,从$1开始
- 问:awk如何知道用空格来分隔字段的呢?
- 答:因为有一个内部变量FS来确定字段分隔符 。初始时,FS赋为空格 。
- awk使用print函数打印字段,打印出来的字段会以空格分隔,比如1,1,3之间有一个逗号,但是逗号比较特殊,它映射为另一个内部变量,称为输出字段分隔符OFS,OFS默认为空格 。
- awk处理完一行后,将从文件中获取另一行,并将其存储在$0中,覆盖原来的内容,然后将新的字符串分隔成字段并进行处理,该过程将持续到所有行处理完毕 。
文章插图
调用awk中变量不需要加$ 。
逻辑运算符
文章插图
使用或||运算符打印第1行和第4行 。
文章插图
匹配1-4行或者以hioiei开头的行 。
流程控制
awk的流程控制和一般编程语言中的逻辑一样,包括选择结构和循环结构,用于处理复杂的命令逻辑 。
【Linux Shell三剑客之awk,功能强大的文本处理工具】if条件判断
单分支结构:{if(表达式){语句1;语句2;...}}
文章插图
双分支结构:{if(表达式){语句;语句;...}else{语句;语句;...}}
文章插图
多分支结构:{ if(表达式1){语句;语句;...}else if(表达式2){语句;语句;...}else if(表达式3){语句;语句;...}else{语句;语句;...}}
文章插图
循环结构
文章插图
while循环打印1-10
文章插图
for循环打印1-10并求和,结果55 。
文章插图
break跳出整个循环,continue跳出本次循环,继续进入下一次循环,由于本次结束后,i并没有加1,因此程序一直卡住 。
推荐阅读
- 如何安装linux(电脑安装linux系统)
- 靳东|《琅琊榜》《伪装者》诞生的“三剑客”,如今同期PK,靳东脱颖而出
- 什么是树莓派(树莓派1代配置)
- 一种从未见过的恶意软件感染了成百上千的Linux和Windows设备
- 回顾 2022 五个最佳 Linux 发行版
- Linux运维工程师 50个常见面试题
- Linux 被爆“满分级”关键内核级漏洞
- 基于NT架构脱胎换骨!QQ for Linux 3.0正式版上架官网
- .NET MAUI 有一个 Linux 短板
- Linux系统禁止用户使用su命令切换root