首页 > 其他分享 >在运维日常工作,"awk"的日常使用规范有哪些?

在运维日常工作,"awk"的日常使用规范有哪些?

时间:2024-09-12 16:48:26浏览次数:8  
标签:运维 sum 文本处理 awk 日常 file 分隔符 print

awk 是一个强大的文本处理工具,最初用于 Unix 系统,现在也可以在类 Unix 系统(如 Linux 和 macOS)上使用。它允许你执行复杂的文本处理任务而不需要编写完整的程序。下面是一些基本概念以及 awk 的使用规则:

基本语法

awk 命令的基本形式是:

awk 'pattern {action}' [file ...]
  • pattern 定义了一个模式,用来匹配输入行。
  • {action} 是当模式匹配成功时执行的一系列命令。
  • [file ...] 是需要处理的一个或多个文件名。如果没有指定文件,则 awk 从标准输入读取数据。

常用选项

  • -F fs 设置字段分隔符为 fs
  • -v var=valawk 程序中定义变量 var 并赋值为 val
  • -f script-file 指定一个脚本文件来代替直接在命令行上写 awk 程序。

内置变量

awk 提供了许多内置变量,用于简化文本处理任务:

  • ARGV 包含命令行参数。
  • ARGC 包含命令行参数的数量。
  • ARGIND 当前正在处理的文件在 ARGV 中的位置。
  • FILENAME 当前输入文件的名字。
  • NR 记录号,即处理了多少行。
  • NF 字段数,即当前行有多少个字段。
  • RS 记录分隔符,默认为换行符。
  • FS 字段分隔符,默认为空白字符(空格或制表符)。
  • OFS 输出字段分隔符,默认为空格。
  • ORS 输出记录分隔符,默认为换行符。

示例

  1. 打印第二列:
    awk '{print $2}' file
    
  2. 设置字段分隔符为逗号,并打印第一列:
    awk -F, '{print $1}' file
    
  3. 统计文件中的行数:
    awk 'END{print NR}' file
    
  4. 统计每行的单词数:
    awk '{print NF}' file
    
  5. 统计所有数字的总和(假设所有行都是数字):
    awk '{sum += $1} END{print sum}' file
    

复杂操作

awk 还支持条件语句、循环、函数定义等,可以实现非常复杂的逻辑。例如:

awk '
    BEGIN { sum = 0 }
    {
        if ($1 ~ /^[0-9]+$/) # 如果第一列是数字
            sum += $1
    }
    END {
        print "Total:", sum
    }' file

以上只是一个简要介绍,awk 的功能远不止这些。为了更深入地学习 awk,建议查阅官方文档或者相关书籍。

标签:运维,sum,文本处理,awk,日常,file,分隔符,print
From: https://www.cnblogs.com/huangjiabobk/p/18410561

相关文章

  • 桌面运维工具之打印机驱动安装
    1.前言桌面运维同学经常会处理打印机驱动安装这类工单,手动安装打印机驱动通常包含以下步骤:1.根据打印机型号网上查找对应打印机驱动2.使用cmd命令进入管理员界面3.将打印机驱动添加到window系统中人工安装需要经过三个步骤,操作繁琐,效率较低。基于此,我们想开发一个自动化安装......
  • 为什么说运维工程师做不长久,做两年就赶快转网络安全或者研发
    前言很多从事IT网络运维工作的年轻小伙伴都会有个疑问,自己做的工作很杂似乎很基础,而且重复很多年,究竟有没前途。作为过来人告诉一个总结:前途大小,工资多少跟你的岗位和职称资质没有多少关系,跟你的经验技能和平台有关系。我今天来详细讨论下IT运维工程师的出路在哪里。IT运......
  • 探索网络安全与运维:豆瓣高分图书推荐
         国内首部日志分析专著《UNIX/Linux网络日志分析与流量监控》已畅销十年,口口相传的经典力作,被清华大学等高校分享作为研究生学习读本,历经多次重印,销量突破10万册。不仅被国内400多所高校(包括港、澳、台地区高校)收藏,远销欧美等国,还被国内多本计算机专业图书和核心期刊......
  • JAVA运维总结篇
    写这篇文章主要目的是完成自己多年来运维JAVA应用的一个总结,相当于个人知识库,以后工作中遇到问题便于临时查阅并不断完善自己的知识体系。 Tomcat是一个开箱即用的软件,配置java环境变量即可把Tomcat进程运行起来,但要投入生产环境,有哪些需要注意的呢?(1)、性能,默认的Tomcat配置可以正......
  • 四剑客awk
    awk使用awk取行使用awk取列使用awk取行+取列通过awk进行初步计算与统计(eg,统计次数(wc-l),求和)1.取行1.1取出/etc/passwd第3行⭐⭐⭐⭐⭐NRawk中的内置变量.NRNumberofRecord记录号,行号==2个等号表示等于[root@Kylin-V10-sp3~/test]#awk'NR==3'/etc/......
  • 软件项目管理资料总汇(开发#实施#运维#安全#交付)
      前言:在软件项目管理中,每个阶段都有其特定的目标和活动,确保项目的顺利进行和最终的成功交付。以下是软件项目管理各个阶段的详细资料:软件项目管理部分文档清单: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需求说明书......
  • 【运维自动化-配置平台】平台管理功能如何使用
    蓝鲸智云配置平台,以下简称配置平台配置平台里的平台管理功能是管理员的一些操作,比如一些全局纬度的设置1、全局配置-业务通用业务快照名称:通常不需要修改,保持平台搭建好默认业务(蓝鲸)即可拓扑最大可见层级:可根据实际业务场景自定义调整,需要注意的是,这个是全局的调整,针对每个......
  • 从小白到大神,这10张证书助你成为IT运维高手
    近几年,IT运维市场持续增长,整体还是很吃香的。IT运维人员要确保企业信息系统的稳定运行、高效管理和持续优化,通过监控、维护和升级软硬件设施来支持业务运营。面对复杂且专业的工作职责,证书是对个人专业技能和知识水平的官方认证,更是自我提升的手段。给大家介绍以下10张证书,它......
  • [开题报告]flask框架基于架构的信息发布系统管理和运维的实现(python+程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在信息爆炸的时代,信息的高效发布与传播已成为企业获取市场竞争优势的关键因素之一。随着互联网的普及和技术的不断进步,信息发布系统作为连......
  • 运维学习————Zabbix监控框架(1)
    目录一、监控1、概念2、作用 3、创建监控框架 老牌监控框架 新款王牌监控框架二、zabbix简介 1、概述2、核心功能  三、主要组件及运行原理1、主要组件ZabbixServerZabbixAgentZabbixProxyZabbixWeb界面数据库其他2、监控架构原理图 原理图​......