当前位置:网站首页>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 % #磁盘占有量,并删掉百分号

边栏推荐
猜你喜欢

6 common plugin recommendations in Pycharm

如何让导电滑环信号更好

Anchor_generators.py analysis of MMDetection framework

二维空间下的向量旋转

HRnet

Robust Real-time LiDAR-inertial Initialization (Real-time Robust LiDAR Inertial Initialization) Paper Learning

Example 046: Breaking the Cycle

带你深入理解3.4.2的版本更新,对用户带来了什么?

liunx PS1 settings

HACKTHEBOX——Bank
随机推荐
Completion of the flag set in 2022
Robust Real-time LiDAR-inertial Initialization(实时鲁棒的LiDAR惯性初始化)论文学习
网路编程_调试accept
PC摄像头设置 默认摄像头设置 win11 默认摄像头设置
【Image Classification】2022-ConvMixer ICLR
2022.8.9 Exam Unique Bid Auction--800 Question Solutions
Example 047: Functions Swap Variables
实例045:求和
On the Harvest of Travel
MySQL: What MySQL optimizations have you done?
flink 12 源码编译及使用idea运行、debug
Day16 charles的基本使用
金融口译,口译中金融高频词有哪些
有关视频传输时粘包问题的一些解决方法
流星加速器木马分析与处置方案
程序国际化
中国人保为德科康材承保产品责任险,为消费者权益保驾护航!
IDEA自动生成serialVersionUID
实例048:数字比大小
HackTheBox——Beep