【Linux】shell编程—awk编辑器

这篇具有很好参考价值的文章主要介绍了【Linux】shell编程—awk编辑器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、awk编辑器

AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言的最大功能取决于一个人所拥有的知识
可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性

1.工作流程

逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。

sed命令常用于一整行的处理,而awk比较倾向于将一行分成多个“字段”然后再进行处理。awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。

在使用awk命令的过程中,可以使用逻辑操作符“&&”表示“与”、“||”表示“或”、“!”表示“非”;还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。

3.常用选项

命令格式:

awk 选项 '模式或条件 {操作}' 文件 1 文件 2 …
awk -f 脚本文件 文件 1 文件 2 …

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

选项 说明
FS: 列分割符。指定每行文本的字段分隔符,默认为空格或制表位。与"-F"作用相同
NF: 当前处理的行的字段个数。
NR: 当前处理的行的行号(序数)。
$0: 当前处理的行的整行内容。
$n: 当前处理行的第n个字段(第n列)。
FILENAME: 被处理的文件名。
RS: 行分隔符。awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录,以进行处理。预设值是’\n’

二、awk的基础用法

1.输出文件中的某一列

awk '{print $n}' 文件

【Linux】shell编程—awk编辑器

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

awk '条件 {print}' 文件

【Linux】shell编程—awk编辑器

3.按照分隔符进行切割

【Linux】shell编程—awk编辑器

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

awk '/匹配条件/ {print}' 文件

【Linux】shell编程—awk编辑器

5.BEGIN打印模式

awk 'BEGIN{...};{...};END{...}' 文件

【Linux】shell编程—awk编辑器

6.awk的分隔符用法

【Linux】shell编程—awk编辑器

三、示例演示

示例一:
获取本机上一次开机时间

date -d "$(awk -F "." '{print $1}' /proc/uptime) second ago" +"%F %H:%M:%S"

【Linux】shell编程—awk编辑器

示例二:
检测本机cpu 15分钟内的平均负载

uptime | awk '{print $NF}'

【Linux】shell编程—awk编辑器

示例三:
获取本机IP地址

ifconfig ens33|awk '/inet /{print $2}'

【Linux】shell编程—awk编辑器文章来源地址https://www.toymoban.com/news/detail-456483.html

到了这里,关于【Linux】shell编程—awk编辑器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux和Shell笔记-6使用编辑器Vim

    对文本在编辑器的功能(如查找,剪切和粘贴)了解越多,编写shell脚本的速度就越快。以VIM为例 安装vim vim基础 键入vim(或vi,如果这个别名或链接文件存在的话)如 vim有两种操作模式,普通模式和插入模式 普通模式将按键解释成命令 插入模式将光标位置输入的每个键插入

    2024年02月16日
    浏览(40)
  • 【Linux系统编程】Linux编辑器——vim

    从这篇文章开始,我们要来学习一些Linux中的开发工具。 这篇文章,我们先来学习一下Linux中的文本编辑器——vim。 首先我们来认识一下什么是vim Vim(Vi IMproved)是一款文本编辑器,它是从 Vi 编辑器发展而来的。Vim 在功能上比 Vi 更加强大,并提供了更多的扩展性和定制选项

    2024年02月13日
    浏览(55)
  • 【linux系统编程】编辑器gcc/g++

    目录 Linux下的编辑器 介绍: 1,编辑器gcc/g++ 1-1,系统的编译过程 1-2,预处理过程 1-3,编译过程 1-4,汇编过程 1-5,链接过程 介绍:         Linux系统下可支持很多高级语言的编辑,不同的编辑工具对应不同的语言。本章,我们重点介绍C语言的编辑器 gcc 和C++的编辑器 g++,

    2024年02月04日
    浏览(48)
  • csdn文章编辑器必备语法备用

    本文是为了记录csdn文章编辑器的必备语法,为写作小白提供更详细的写作规范技巧 csdn的质量分查询地址:质量分查询 这里的跳转链接,可以使用ctrl+shift +L 来输入链接 亦可以使用 链接: link. 🚀🚀🚀 💓 知识最重要的是记忆 💓入门须知: 想要人生从容,必须全力以赴,努

    2024年02月14日
    浏览(36)
  • Shell脚本基础( 四: sed编辑器)

    目录 1 简介 1.1 sed编辑器的工作流程 2 sed 2.1 基本用法  2.2 sed基本格式 2.2.1 sed支持正则表达式 2.2.2 匹配正则表达式 2.2.3 奇数偶数表示 2.2.4 -d选项删除 2.2.5 -i修改文件内容 2.2.6  -a 追加 2.3 搜索替代 2.4 变量 sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供

    2024年02月12日
    浏览(40)
  • 《Linux操作系统编程》第四章 屏幕编程器vi : 了解屏幕编辑器vi的概述和基本操作命令

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月11日
    浏览(68)
  • 提示3D标题编辑器仍在运行怎么解决,以及3D标题编辑器怎么使用

    在进行视频剪辑时,尤其是剪辑一些带有文字的开场视频,一般都会使用具有立体效果的3D标题,这样制作出来的视频效果不仅好看,还非常的炫酷,但是对于一些刚刚开始接触视频剪辑的小伙伴来说,可能对3D标题还不是很了解,所以下面本文就给大家具体讲解一下,提示

    2024年02月05日
    浏览(55)
  • intellij 编辑器内性能提示

    IntelliJ IDEA已经出了最新版的2023.2,最耀眼的功能无法两个 AI Assistant 编辑器内性能提示 AI Assistant 已经尝试过了是限定功能,因为是基于open ai,所以限定的意思是国内无法使用,今天我们主要介绍是编辑器内性能提示 IntelliJ Profiler功能很早就已经有了,他的主要功能是分析代码

    2024年02月15日
    浏览(88)
  • 优化 ParamValidator,让编辑器Pycharm智能提示校验方法

    了解 __getattribute__ 的特性 使用 __getattribute__ 结合 Validator 类中的方法,让编辑器 Pycharm 智能提示 ParamValidator 类中的方法 基于 Validator 类实现 ParamValidator,用于校验函数参数 atme : @me 用于存放临时的代码片断或其它内容。 pyparamvalidate : 新建一个与项目名称同名的package,为了方

    2024年01月20日
    浏览(55)
  • Shell脚本文本三剑客之sed编辑器(拥明月入怀,揽星河入梦)

    sed编辑器可以根据命令来处理数据流中的数据,通过多种转换修改流经它的文本,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。 sed是一个面向字符流的非交互式编辑器,也就是说 sed 不允许用户与它进行交互操作。 1.读取 sed从输入流(文件、管道、标准输

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包