当前位置:网站首页>shell文本编辑awk
shell文本编辑awk
2022-08-10 02:54:00 【1701y】
awk
awk 比较倾向于将一行分成多个“字段”然后再进行处理,且默认情况下字段的分隔符为空格或者 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。在使用awk命令的过程中,可以使用逻辑操作符“&&”,表示“与”, “||”表示“或”,“!”表示“非”;还可以进行简单的数学运算,如+、-、*、/、%、^分别 表示加、减、乘、除、取余和乘方。
awk 包含几个特殊的内建变量(可直接用)
FS | 指定每行文本的字段分隔符,默认为空格或制表位(tab) |
---|---|
NF | 当前处理的行的字段个数 |
NR | 当前处理的行的行号 |
$0 | 当前处理的行的整行内容 |
$n | 当前处理行的第n个字段(第n列) |
FILENAME | 被处理的文件名 |
RS | 数据记录分隔,默认为\n.即每行为一条记录 |
用法示例
按行输出
[[email protected] ~]#awk '{print}' /etc/passwd #输出passwd的所有内容
[[email protected] ~]#awk '{print $0}' /etc/passwd #输出passwd的所有内容
[[email protected] ~]#awk 'NR==1,NR==3{print}' /etc/passwd #输出passwd第1行到第3行的内容
[[email protected] ~]#awk '(NR>=1)&&(NR<=3){print}' /etc/passwd #输出passwd第1行到第3行的内容
[[email protected] ~]#awk 'NR==1||NR==3{print}' /etc/passwd #输出passwd第1行和第3行的内容
[[email protected] ~]#awk '(NR%2)==1{print}' /etc/passwd #输出passwd奇数行的内容
[[email protected] ~]#awk '(NR%2)==0{print}' /etc/passwd #输出passwd偶数行的内容
[[email protected] ~]#awk '/^root/{print}' /etc/passwd #输出以root开头的行
[[email protected] ~]#awk '/bash$/{print}' /etc/passwd #输出以bash结尾的行
按字段输出文本
[[email protected] ~]#awk -F: '{print $1}' /etc/passwd #以:为分隔输出第一列
[[email protected] ~]#awk -F: '{print $1" "$2}' /etc/passwd #以:为分隔输出第一列和第2列
[[email protected] ~]#awk -F: '{print $1,$2}' /etc/passwd #以:为分隔输出第一列和第2列
[[email protected] ~]#awk -F: '{print $1$NF}' /etc/passwd #以:为分隔输出第一列和第最后一列
[[email protected] ~]#awk -F: '{print $1"\t"$NF}' /etc/passwd #输出第一列和第最后一列(以制表符分隔)
[[email protected] ~]#awk -F[:/] '{print $9}' /etc/passwd #以:和/做分隔 输出第9段内容
[[email protected] ~]#ifconfig ens33|awk 'NR==2{print}'|awk '{print"本机的IP地址为:"$2}'
本机的IP地址为:192.168.116.131
##筛选出来IP地址
[[email protected] ~]#df -h|awk '{print$5}'|tr -d % #磁盘占有量,并删掉百分号
边栏推荐
- 【红队】ATT&CK - 自启动 - 注册表运行键、启动文件夹
- Example 046: Breaking the Cycle
- 【CC3200AI 实验教程5】疯壳·AI语音人脸识别(会议记录仪/人脸打卡机)-定时器
- 兴业数金一面
- The Evolutionary History of the "Double Gun" Trojan Horse Virus
- Example 047: Functions Swap Variables
- Will signal with different start time alignment
- 二进制与内存
- [Red Team] ATT&CK - Self-starting - Self-starting mechanism using LSA authentication package
- 从零开始配置 vim(10)——快捷键配置
猜你喜欢
二维空间下的向量旋转
What makes training multi-modal classification networks hard?
维度表设计
【Image Classification】2022-CycleMLP ICLR
是什么让训练综合分类网络艰苦?
Kettle 裁剪表详解(truncate)
Example 044: Matrix Addition
兴业数金一面
Robust Real-time LiDAR-inertial Initialization(实时鲁棒的LiDAR惯性初始化)论文学习
The IDEA to automatically generate the serialVersionUID
随机推荐
关于redis在业务中的应用问题,如何解决?
小程序wxs
goland控制台显示重叠问题解决方案
(面试加分新技能) 总结11个ES2022中你可能遗漏的语法
带你深入理解3.4.2的版本更新,对用户带来了什么?
【红队】ATT&CK - 自启动 - 注册表运行键、启动文件夹
想要避免After Effects渲染失败的问题,5个小技巧必看
Chip Accelerator
Meteor accelerator Trojan analysis and disposal plan
三极管开关电路参数设计与参数介绍
nodejs 时钟案例(fs模块),重复使用fs.writeFile方法,旧内容会被覆盖
如何使用腾讯字体,已经在什么场合下可以使用该字体?TTTGB-Medium
Example 043: Scope, class methods and variables
实例047:函数交换变量
P1564 Worship
ArcGIS Advanced (1) - Install ArcGIS Enterprise and create an sde library
MongoDB 常用查询语句
二进制与内存
实测办公场景下,国产远程控制软件的表现力如何?(技术解析)
流星加速器木马分析与处置方案