linux awk文本
目录
一、awk概念
二、awk的工作过程
三、awk字符
四、内置变量
五、getline
六、awk的精准筛选
七、例子演示
八、实验演示
一、awk概念
1.概念:awk 是一个功能强大的编辑工具,逐行读取输入文本,主要作用于文件内容,AWK信息的读入也是逐行指定的匹配模式进行查找,
对符合条件的内容进行格式化输出或者过滤处理。
2.分隔符:默认是空格,多个空格会压缩一个,可用-F指定分割符
3.awk执行过程:1、按照命令找指定的行 2、找到的行 打印,操作 awk默认的操作就是打印
4.awk优点:可以在无交互的情况下自动化完成文本操作
二、awk的工作过程
1.有BEGIN{action;..}优先执行
2.从(stdin)中读取内容,执行pattern{action;..}读取文件内容(没有pattern执行print内容)
3.执行END{action;..}内容

三、awk字符
1.-F “分隔符” 指明输入时用到的字段分隔符,默认的分隔符是若干个连续空白符
2.-v变量赋值
3.{ }外指定条件,{ }内指定操作。
4.用逗号指定连续的行,用 || 指定不连续的行。&&表示”且“。
5.默认为空格或制表位。与"-F"作用相同 用-F可以不加单引号 -F:,用FS必须用=""
例子演示:
1.-F指定分隔符

2.-v赋值为:,每次出现:就空格

3.{}外条件是数量为0打印,{}里操作是打印

4.,为间隔符||为且&&为或


5.FS定义分割符

四、内置变量
内置变量,不能用双引号括起来,不然系统会把它当成字符串。
NR: 当前处理的行的行号(序数)
NF: 当前处理的行的字段个数。$NF代表最后一个字段
FS: 列分割符。指定每行文本的字段分隔符,输入内容的分隔符
默认为空格或制表位。与"-F"作用相同 用-F可以不加单引号 -F:,用FS必须用=""
$0: 当前处理的行的整行内容 打印所有
$n: 当前处理行的第n个字段(第n列)
OFS:输出内容的列分隔符
FILENAME:被处理的文件名
RS: 行分隔符。awk从文件中读取资料时,
将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录进行处理。预设值是"\n"
1.$0$1(在里面是$0打印所有$1打印一列),在外面0不打印,1打印



2.NR输出统计行号

3.展示行号以及内容

4.打印指定行号内容

5.范围打印

6.打印不相连的行

7.正则表达式的范围打印

8.偶数打印

9.奇数打印

10.BEGIN计算

11.幂运算

五、getline
1.当getline左右无重定向符号(“<”,">")或者管道符号(“|”)时,awk首先读取的是第一行,而getline获取的是光标跳转至下一行的内容(也就是第二行)。
2.当getline左右有管道符号或重定向符时,getline则作用定向输入文件,由于文件是刚打开,并没有被awk读入一行,而只是getline读入,所以getline返回的是文件的第一行,而不是跳转至一行输入
使用getline偶数打印

使用getline奇数打印

使用getline将1.txt传给2.txt

将1.txt内容传给2.txt展示出来

六、awk的精准筛选
$n(> < ==): 用于对比数值
$n~"字符串": 代表第n个字段包含某个字符串
$n!~"字符串": 代表第n个字段不包含某个字符串
$n=="字符串": 代表第n个字段为某个字符串
$n!="字符串": 代表第n个字段不为某个字符串
$NF: 代表最后一个字段
1.输出有bash,并且输出第一列和第7列

2.输出第七个字段不包含“nologin”所在行的第一个字段和最后一个字段

七、例子演示
1.过滤打印


2.行号加1递归

3.过滤passwd展示前4行的第一列

4.替换:换为+

5.以:为分隔符换行输出

6.打印uid大于1000的用户信息

7.使用if判断用户信息

8.三元表达式,?相当于then,:相当于else

9.awk中的数组形成遍历

八、实验演示
1.简单的日志分割

2.提取host.txt主机名后再放回host.txt文件

3.统计磁盘可用容量

4.统计/etc下文件总大小

5.CPU使用率

6.统计内存

linux awk文本的更多相关文章
- Linux - awk 文本处理工具一
AWK AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一:awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命 ...
- Linux - awk 文本处理工具六 - 日志关键字筛选
查看多少行 ? awk '{print NR}' access.log |tail -n1 日期时间筛选检测 awk '/Dec 10/ {print $0}' /opt/mongod/log/mon ...
- Linux - awk 文本处理工具五
awk 线上处理常用模式 awk 处理复杂日志 6.19: DHB_014_号百总机服务业务日报:广州 到达数异常! DHB_023_号百漏话提醒日报:珠海 到达数异常! 6.20: DHB_014_ ...
- Linux - awk 文本处理工具四
awk 常用示例 获取本机 IP 方式 /sbin/ifconfig |awk -v RS="Bcast:" '{print $NF}'|awk -F: '/addr/{print ...
- Linux - awk 文本处理工具三
AWK 文件打印匹配 格式示例 awk '/Tom/' file # 打印匹配到得行 awk '/^Tom/{print $1}' # 匹配Tom开头的行 打印第一个字段 awk '$1 !~ /ly ...
- Linux - awk 文本处理工具二
awk 判断格式 awk '{print ($1>$2)?"第一排"$1:"第二排"$2}' # 条件判断 括号代表if语句判断 "?" ...
- linux awk 文本分析实例 [视频]
实例: 点我打开哔哩哔哩 实战: 点我打开哔哩哔哩 以下是一个分享: ➜ log Time Now 16:23:35 > awk '/Installed/' yum.log* | awk -F ...
- AWK文本处理工具(Linux)
AWK文本处理工具(Linux) PS:刚开始实习,就给了个处理百万级别数据的任务,以前学过SHELL的一些东西sed/awk之类的处理,但是也没有具体的应用,只是在10几行10几列的小数据操作过,所 ...
- Linux的文本处理工具浅谈-awk sed grep
Linux的文本处理工具浅谈 awk 老大 [功能说明] 用于文本处理的语言(取行,过滤),支持正则 NR代表行数,$n取某一列,$NF最后一列 NR==20,NR==30 从20行到30行 FS ...
- awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一
awk.grep.sed是linux操作文本的三大利器,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文 ...
随机推荐
- 【技巧存档】常用网站如CSDN打开时加载慢怎么办?
找到最快站点,更改host文件 F12打开控制台,查看网络中哪些站点的请求标红,如 img-home.csdnimg.cn 去站长之家测试ping值,找到最低ping值的ip,这里找到安徽合肥,ip为 ...
- mesql输入中文报错
错误提示:ERROR 1366 (HY000): Incorrect string value: '\xE6\x9D\x8E\xE5\x8B\x87' for column 'Sname' at ro ...
- [网络]内网IP的判别与分类
1 内网IP划分 内网IP地址分为A类.B类和C类,其地址范围如下: A类地址: 10.0.0.0 - 10.255.255.255 B类地址: 172.16.0.0 - 172.31.255.255 ...
- OpenTiny 的这些特色组件,很实用,但你应该没见过
大家好,我是 Kagol,OpenTiny 开源社区运营,TinyVue 跨端.跨框架组件库核心贡献者,专注于前端组件库建设和开源社区运营. 前面给大家介绍了 OpenTiny 快速创建 Vue Ad ...
- C# 从0到实战 lambda表达式和Expression-bodied表达式
什么是lambda表达式(λ表达式) 用过其他函数式语言的人可能对闭包和惰性计算很熟悉,没有用过的人也多多少少的听说过Lambda表达式.那么到底什么是lambda表达式呢?按我的看法是创建一个匿名的 ...
- Rust中的智能指针:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak<T>
Rust中的智能指针是什么 智能指针(smart pointers)是一类数据结构,是拥有数据所有权和额外功能的指针.是指针的进一步发展 指针(pointer)是一个包含内存地址的变量的通用概念.这个 ...
- ASP.NET Core设置URLs的几种方法,完美解决.NET 6项目局域网IP地址远程无法访问的问题
近期在dotnet项目中遇到这样的问题:.net6 运行以后无法通过局域网IP地址远程访问.后查阅官方文档.整理出解决问题的五种方式方法,通过新建一个新的WebApi项目演示如下: 说明 操作系统:U ...
- 深度学习-05(tensorflow模型保存与加载、文件读取、图像分类:手写体识别、服饰识别)
文章目录 深度学习-05 模型保存于加载 什么是模型保存与加载 模型保存于加载API 案例1:模型保存/加载 读取数据 文件读取机制 文件读取API 案例2:CSV文件读取 图片文件读取API 案例3 ...
- 试用「ChatGPT」几周之后
冷静下来,不吹不黑. 01 最近半年,互联网一款现象级的应用诞生:「ChatGPT」: 其火爆的程度,不输前面的羊了个羊: 最初了解到ChatGPT还是春节的时候,但那时网上的测评还没引起足够的好奇心 ...
- 带大小写忽略的Replace
#region 以下函数用于忽略大小写替换操作 public static string Replace(string Expression, string Find, string Replacem ...