文本三剑客——awk

news/2024/11/25 4:20:29/

文本编辑器awk

  • 一、 awk工作原理
    • 1.命令格式
    • 2.awk常见的内建变量(可直接用)如下所示
  • 二、awk的基础用法
    • 1.输出文件中的某一列
    • 2.根据特定条件筛选数据
    • 3.按照分隔符进行切割
    • 4.在匹配到特定字符串时执行操作
    • 5.BEGIN打印模式
    • 6.awk的分隔符用法
  • 三、示例演示
    • 1.获取本机上一次开机时间
    • 2.检测本机cpu 15分钟内的平均负载
    • 3.获取本机IP地址
    • 4.ssh远程登录

一、 awk工作原理

工作原理
逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令
sed命令常用于一整行的处理,而awk比较倾向于将一行分成多个“字段”然后再进行处理。awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。在使用awk命令的过程中,可以使用逻辑操作符“&&”表示“与”、“||”表示“或”、“!”表示“非”;还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。

1.命令格式

awk 选项 ‘模式或条件 { 操作 }’ 文件1 文件2 ...... 
awk -f   脚本文件  文件1  文件2 ......

2.awk常见的内建变量(可直接用)如下所示

FS:列分隔符。指定每行文本的字段分隔符,默认为空格或制表符。与“-F”作用相同
NF:当前处理的行的字段个数
NR:当前处理的行的行号(序数)
$0:当前处理的行的整行内容
$n:当前处理行的第n个文件名
FILENAME:被处理的文件名。
RS:行分隔符。awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录,而进行处理。预设值是’\n‘## 3.按行输出文本,一些示例:```cpp
awk '(print)'  文件名               #输出所有内容
awk '(print $0)'  文件名            #输出所有内容awk 'NR==1,NR==3{print}' 文件名      #输出第1~3行内容
awk '(NR>=1)&&(NR<=3){print}' 文件名 #输出第1~3行内容awk 'NR==1||NR==3{print}'  文件名     #输出第1行、第3行内容awk '(NR%2)==1{print}'  文件名        #输出所有奇数行的内容
awk '(NR%2)==0{print}'  文件名        #输出所有偶数行的内容awk '/^root/{print}' /etc/passwd     #输出以root开头的行awk '/nologin$/(print)' /etc/passwd  #输出以nologin结尾的行awk 'BEGIN{x=0};/\bin\/bash$/{x++};END{print x}' /etc/passwd   #统计以/bin/bash结尾的行数,等同于 grep -c "/bin/bash$"

BEGIN模式表示,在处理指定的文本之前,需要先执行BEGIN模式中指定的动作;awk在处理指定的文本,之后再执行END模式中指定的动作,END{ }语句块中,往往会放入打印结果等语句

二、awk的基础用法

1.输出文件中的某一列

格式:awk ‘{print $n}’ 文件

在这里插入图片描述

2.根据特定条件筛选数据

格式:awk ‘条件 {print}’ 文件

在这里插入图片描述
在这里插入图片描述

3.按照分隔符进行切割

在这里插入图片描述

4.在匹配到特定字符串时执行操作

格式:awk ‘/匹配条件/ {print}’ 文件

在这里插入图片描述

5.BEGIN打印模式

语法格式:awk ‘BEGIN{…};{…};END{…}’ 文件

在这里插入图片描述

6.awk的分隔符用法

在这里插入图片描述

三、示例演示

1.获取本机上一次开机时间

date -d “$(awk -F “.” ‘{print $1}’ /proc/uptime) second ago” +“%F %H:%M:%S”
在这里插入图片描述

2.检测本机cpu 15分钟内的平均负载

uptime | awk ‘{print $NF}’
在这里插入图片描述

3.获取本机IP地址

ifconfig ens33|awk ‘/inet /{print $2}’
在这里插入图片描述

4.ssh远程登录

在这里插入图片描述


http://www.ppmy.cn/news/147369.html

相关文章

使用NE555实现的延时开关电路

NE555 的电气特性 555系列有几种不同的规格 NE555是民用版本, 推荐的工作温度是 0 - 70 NA555, SA555, SE555 是工业版本, 推荐工作温度为 -40 - 100 电压: 最高18V, 推荐工作电压15V以内 电流: Pin3 输出电流支持 225 mA, 推荐的工作电流区间是 200 mA. 注意: 支持反向的电…

华硕k5555l拆解图解_华硕ZenBook UX501笔记本拆机全过程图解

UX系列一直是华硕旗下的高端全能型轻薄笔记本产品,拥有精致的外观和较强的硬件配置。近期华硕发布了UX系列的最一代产品——15英寸的华硕 ZENBOOK UX501J,这款笔记本的外形依然轻薄,硬件方面则采用了英特尔酷睿i7-4720HQ四核处理器搭配NVIDIA GeForce GTX 960M独显的组合,配…

华硕k5555l拆解图解_华硕k50id的拆机过程详解【图文教程】

笔记本电脑 以前是一个比较稀罕的东西,不过现在笔记本电脑基本上人手一部。随着科技的发展,现在的笔记本电脑功能都十分的强大。今天小编要给大家介绍的这款笔记本电脑是华硕k50id。虽然不是市面上最好的,但它是性价比比较好的一款笔记本电脑了。今天小编会详细的给大家介绍…

华硕笔记本k555拆机图解_华硕k45vd笔记本拆机教程,清理灰尘,更换键盘

对于华硕k45vd笔记本来说&#xff0c;不管是清理灰尘&#xff0c;还是更换键盘&#xff0c;都需要拆机才能进行&#xff0c;也就是把外壳螺丝全部拆掉。光驱拿下来以后&#xff0c;然后把光驱下面隐藏的3个小螺丝再拆掉&#xff0c;才能把键盘壳子卸下来。 光驱下面隐藏的3颗小…

华硕笔记本k555拆机图解_华硕K43系列笔记本电脑拆机清灰图文超细版教程

ASUS(华硕)K43系列笔记本电脑清灰比一般的笔记本清灰要困难得多,即使是清理一下风扇上的灰尘,也需要把所有的部件全部拆下来才能清理,下面鑫尚电脑维修通过收集整理就来对华硕K43系列笔记本电脑拆机清灰过程作一个详细的图文讲解。 图1:华硕K43SJ笔记本 这次所拆的笔记本为…

笔记本换固态硬盘-华硕K555L

向前辈致敬&#xff1a;https://blog.csdn.net/qq_40907345/article/details/81163070 百度百科&#xff1a;https://jingyan.baidu.com/album/e9fb46e151b7557521f766c5.html 我的华硕笔记本是14年末买的的&#xff0c;距离现在是4年多5年不到 原装配置&#xff1a;I5-4210…

华硕k5555l拆解图解_【多图】【教程】华硕K555L笔记本拆机除尘图解,通用此类模具所有笔记本...

本帖最后由 fsbuw1 于 2017-3-6 19:50 编辑 由于工作原因,接触笔记本较多,拆机除尘的机会也比较多,一直想哪天有时间遇到个本子要拆的,多拍点照片整理下来,然后做个流程图给大家观看下 当然这种活对于论坛众多大神自然不再话下,如有哪里不到位的地方,多多指教 发此贴,希…

华硕k5555l拆解图解_华硕k555l拆机图解

现在很多人都有了自己的笔记本,用过一段时间以后大家会觉得笔详情>> 1月11日消息 据外媒 videocardz 1 月 9 日消息,华硕的一款 WRX80 主板遭到曝光,型号为 WRX80 PRO WS SAGE SE。这款主板支持 AMD 线程撕裂者 Pro 处理器,宽度十分大。 详情>> 阅读: 1 日期: …